2016-11-09 7 views
0

私は2つのアクティビティ、とCameraActivityを持っています。 HomeActivityは、Intent.FLAG_ACTIVITY_NEW_TASKstartActivityForResultのインテントを使用してCameraActivityを呼び出します。 CameraActivityにはカスタムカメラを開くための断片があります。私は画像をキャプチャするためのボタンを与えている。ユーザーがボタンをクリックするとカメラのコールバックを呼び出し、onPictureTaken(byte[] data)getActivity().finish()と画像ファイルのパスをHomeActivityに戻してUIに表示することで、画像ファイルにデータ配列を書き込んで作業を終了します。finish()を呼び出した後でもカスタムCameraActivityが表示されます

は、今の問題は、次のとおりです。

私はCameraActivityにフラグメントからgetActivity().finish()を呼び出しています、それはHomeActivityonActivityResult呼び出します。パスはTextViewに表示されます。ログはまた、HomeActivityから適切に印刷されます。しかし、スクリーンカメラで実行されます。 CameraActivityを終了するには、戻るボタンを押す必要があるたびに。 画像を一度キャプチャしているとしますが、画面上のカメラがまだ動作しているために2度キャプチャしようとしましたが、制御はHomeActivityに戻りましたが、2回目のキャプチャにはonActivityResult()は呼び出されません。

答えて

1

アクティビティでフラグメントを使用していたときに、構成の変更が発生したときに、アクティビティが再開され、フラグメントの新しいインスタンスが添付され、未完成のフラグメントが画面に表示され続けました。 私はこの問題を構成変更時に断片を切り離すことで解決しました。

4

コードをデバッグします。 startActivityForResultは複数回呼び出されていると思います。

+0

いいえいいえstartActivityForResultにログを出力しました。それらは一度だけ印刷されます。最初の呼び出しのために –

関連する問題