ビットマップを 2 番目のアクティビティに渡す方法はいくつかあります。
Bundle
formを渡すことができますIntent
。
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAM_REQUEST) {
if (resultCode == RESULT_OK) {
Bundle extras = data.getExtras()
Intent i = new Intent(this, PostActivity.class);
i.putExtra("extras", extras);
startActivity(i);
}
}
}
そして、PostActivity
あなたは呼び出すことができます
Bundle extras = getIntent().getBundleExtra("extras")
Bitmap thumbnail = (Bitmap) extras.get("data");
または、画像のみを渡したい場合は、ビットマップをバイト配列に変換する必要があります
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAM_REQUEST) {
if (resultCode == RESULT_OK) {
Intent intent = new Intent(this, PostActivity.class);
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
intent.putExtra("image",byteArray);
startActivity(i);
}
}
}
または、あなたの方法も正しいはずです。方法で取得する必要がありBitmap
ます getParcelableExtra(String)
。
Bitmap thumbnail = getIntent().getParcelableExtra("data");