0
私は来て、助けを求める人がいると申し訳なく思っていますが、私はこの問題をしばらく取り留めています。カメラからの画像が2回目のアクティビティで表示されない
MainActivityからボタンを押してカメラに入れて写真を撮っています。その後、同じ画像のプレビューがある次のアクティビティに移動します。しかし、私が次の活動に着くたびに、イメージは表示されず、ただのプレースホルダーになります。私は間違って何をしていますか?コード内に何か不足していますか?
私は周りを見ていてUriを使用しようとしましたが、特定の権限を与える必要があるため、Uriを使用しようとしたため、FileProviderは推奨されていますが、正直なところです。私。私は数時間試して失敗しました。
MainActivity
public class MainActivity extends AppCompatActivity {
int CAPTURE_REQUEST;
Button button;
Bitmap thumbnail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View view) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAPTURE_REQUEST);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CAPTURE_REQUEST) {
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
sendImage();
}
}
}
private void sendImage() {
Intent intent = new Intent(MainActivity.this, NextActivity.class);
intent.putExtra("image", thumbnail);
startActivity(intent);
}}
NextActivity
public class NextActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
ImageView imageView = (ImageView) findViewById(R.id.imageView);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
Bundle extras = getIntent().getExtras();
if (extras != null) {
Bitmap image = (Bitmap) extras.get("image");
if (image != null) {
imageView.setImageBitmap(image);
}
}
}}
関数sendImage()に正しい画像が含まれていますか? –
私はそう信じるでしょう。しかし、私は、Androidの研究では、ビットマップサムネイル=(ビットマップ)yada yadaを宣言すると、sendImage()でそれを使用しても、 –