2011-12-19 9 views
11

Activityアクティビティライフサイクルで、Activity.onCreate()が再開後に呼び出されたとき(IEがアクティビティを最初に作成したときや画面の回転に応答しないとき)、このコードは有効な(nullでない)Bundleを返しますか?アクティビティを再開すると、AndroidはIntentエクストラを復元しますか?

public void onCreate(Bundle savedInstanceState) { 
    Bundle b = this.getIntent().getExtras(); 
    // is b == null? (when activity is resumed) 
} 

私は、アプリケーションが長期間使用されていない場合に発生する問題を再現しようとしています - ときにユーザーが戻ると、アプリケーションがクラッシュします。

答えて

2

フォアグラウンドに戻ったときに使用できるように、そのコードをonResume()に入れます。

12

大丈夫なので、Androidは私のアプリを殺すと、ユーザーが戻って移動したときに - のonCreate()>新しい<活動で解雇され、それが関連するエクストラがなくなっていますと一緒に本来の意図 。またはエクストラは をAndroidで新しいインテントに添付しますか?

私は同じことが不思議で、私のアプリケーションでこれを素早くテストしました。

あなたのアプリケーションが殺された後にアクティビティが再作成されたときに、エクストラが利用可能になります。

+0

これに感謝します。人々がここに来るときに人々が知りたいと思っていると思われるもののより簡潔な説明です。私は私のことを削除して、人々がコメントを止め、代わりにあなたのことを見ることができるようにすることができます。 –

関連する問題