メイン アクティビティはホーム画面へのショートカットを作成します。すべてうまくいきますが、ショートカットで開始するときに追加の値を知る必要があります。だから私はショートカットを作成するときにこれを使用しました
intent.putExtra(EXTRA_ID, "Some string info here");
そしてonResume
、このような値を取得します
if (getIntent().hasExtra(EXTRA_ID))
ShowToast(getIntent().getExtras().getString(EXTRA_ID));
すべて正常に動作します。いくつかの例を見てみましょう
- アクティビティが起動せず、ホーム画面のショートカットが押され、トーストが表示されます。いいですね。
- アクティビティはバックグラウンドで、ホーム画面のショートカットを押すとトーストが表示されます。いいですね。
- アクティビティは使用中です。別のアクティビティが開始されました。戻ると、トーストが表示されます。いいえ。
- アクティビティはバックグラウンドであり、余分なものはありません。ショートカットが押されました。何も表示されません。
3 番目の例では、想定どおりに動作します。しかし、アクティビティがショートカットによって再開/起動されたかどうかはどうすればわかりますか?