29

私は Android アプリケーションを構築しています。アクティビティを開始したインテント ( getIntent ()メソッドを介して到達可能) が、デバイスの向きなどのアクティビティのレクリエーション中に保存/保持されるかどうか、または単に Android ができるという事実を尋ねたいと思います。バックグラウンドにある場合はアプリケーションの状態を消去し、再構築します (メモリが不足している場合) ?

これは、質問を説明する簡単な例です:

アプリケーションがアクティビティAを起動します。次に、ユーザーは新しいアクティビティBを開始するボタンをクリックします。アクティビティAは、インテントを介して ( putExtraメソッドを使用して)値がHelloの文字列XをアクティビティBに送信しました。

アクティビティBでは、( getIntent ()メソッドを使用して)インテントを取得し、次に ( getStringExtraメソッドを使用して) 文字列の内容を取得することで、文字列Xの内容を取得できます。

デバイスの回転によってアクティビティが再作成された場合、意図から余分な文字列を取得することはできますか?

または、余分な文字列をonSaveInstanceStateメソッドに保存する必要がありますか?

デバイス ローテーションのシナリオを試してみましたが、インテント (追加の文字列と共に) は常にアクセス可能です。

4

1 に答える 1

36

デバイスの回転によりアクティビティが再作成された場合、インテントから余分な文字列を取得することはできますか、それともインテント自体を取得することはできますか?

はい。構成変更後は、構成変更前と同じIntent(または、少なくとも のコピー) になります。Intent

于 2013-03-14T16:01:30.430 に答える