0

次の問題:エクストラ付きのアクティビティ「B」を呼び出しています。Bが起動し、エクストラがある場合、ACTION_IMAGE_CAPTUREインテントが進行中です。これは本当にうまくいきます。

ただし、これはonCreate()で行ったため、デバイスの向きを変更するたびに(そして、前にエクストラを使用してアクティビティを起動するたびに)、カメラがオンになります。

clear();とremove()を実行しようとしましたが、これではうまくいきません。

助言がありますか?前もって感謝します

4

1 に答える 1

0

onSaveInstanceStateを使用してブール値を保存し、カメラを開いたままにするかどうかを決定できます。このメソッドは、そのデータを挿入できるバンドルを提供します。このデータには、onCreateまたはonRestoreInstanceStateの間に再度アクセスできます。これは、向きの変更中にアプリを期待どおりに機能させるための推奨される方法です。

たとえば、写真が実際にカメラで撮影されたかどうかを確認し、その情報に基づいて、onSaveInstanceStateコールバックを介してブール値をsavedInstanceStateバンドルに挿入できます。onCreateが呼び出されたら、提供されているブール値のバンドルを確認し、そのブール値を使用してカメラを開くかどうかを選択します。

于 2012-07-01T16:08:04.743 に答える