私はカメラを起動して起動し、画像を自分の電話機に保存していますが、設定したImageViewに表示し、その後にアプリを起動するたびにもう一度表示します。私がこれを達成するために必要なことをどのように広げることができるかに関する提案はありますか?最近保存した画像をImageViewに送信するには?
private void takePic() {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File pictureDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
String pictureName = "Avatar.jpg";
File imageFile = new File(pictureDirectory, pictureName);
Uri pictureUri = Uri.fromFile(imageFile);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, pictureUri);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
そして、私は単にtakePic()
に呼び出すボタンを持って次のように
私のカメラのコードがあります。私は単に私のImageViewのサムネイルを表示するために、これを使用しますが、私はそれを削除しなければならなかった画像を保存するためのコードを変更したとき
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
AvatarMe.setImageBitmap(photo);
}
}
、そうでない場合はアプリがクラッシュしました:私はこのように見えた前onActivityResult()
を持っていました。 Androidは私に両方をさせてくれないようですので、私はそれをどうやってできるのか理解するために何か助けが必要です。
基本的に私はImageViewで画像を表示して保存しておき、画像を撮影した後にアプリが強制終了された場合は保存した画像でImageViewを塗りつぶすことができます。
これは周り 'ビットマップ= MediaStore.Images.Media.getBitmap(これをキャッチ/トライをラップした後、あなたが –
はい、私の評判はコメント人のためにあまりにも50にする必要がある:) –
OK男をコメントする必要があります.getContentResolver()、pictureUri); ' とキャッチのトーストが、トーストトリガーとして何かうまくいかないようです。あなたが言ったように、それを 'Uri pictureUri;'と 'pictureUri = uri 'として定義することによって、Uriをグローバル変数として入れてみました。fromFile(imageFile); 'メソッド内にあります。 –