私はカメラで画像を撮ることができるアクティビティを持っており、このイメージをインテントエクストラとして親アクティビティに送信したいと考えています。しかし、私が実際に意図にイメージを追加しようとすると、突然finish()
コールが何もしていないように見えて、私の活動は決して閉じられません。Android:特定のインテントエクストラはアクティビティの終了を防ぐ
ここに私のコードの一部です:
public void onPictureTaken(byte[] imageData, Camera c)
{
if (imageData != null) {
// Send the result as a byte array
Intent intent = new Intent();
intent.putExtra("imagedata", imageData);
setResult(RESULT_OK, intent);
finish();
}
}
奇妙なことは、私はputExtra()
呼び出しをコメントアウトした場合、それはすべて(もちろん、画像なし)が正しく動作し、私の活動が終了し、私がヒット、です親のonActivityResult()
コールバック。しかし、私が行を残すと、アクティビティは決して閉じず、コールバックは決して起動しません。
私は、ストリングのようなエクストラにもっと些細なことを入れようとしましたが、すべてが完璧に機能しています。 putExtra()
はバイト配列を取ることが許されており、私はそれをBitmapとしてラップして送信しようとしましたが、それも送信されませんでした。私が考え得る唯一のことは、大きなものをIntentに渡すべきではないということです。その場合、代わりにファイルに書き込んでみてください。ファイルへの書き込みはバイト配列参照を渡すよりも遅くする必要があります。これが私がこのようにしている理由です。
アイデア?事前に感謝:)
電話:サムスンギャラクシーS APIレベル:7
ありがとう、私はそのスレッドを2時間前に見つけた(Android開発の新機能)ことを願っています。画像をファイルに書き込んだ後、まっすぐに読み直すのはちょっとばかげているようです。アプリライフサイクルのために画像を保存したいだけなので、それを保持するためにシングルトンを使うべきでしょうか?とにかく、迅速な応答のおかげで:) – Adam