現在私はインテントで作業中です。しかし、私はいくつかの問題があります。についてアンドロイドの意図の行動
私は2つのアプリAとBを持っています。Bのランチモードはアンドロイドです:launchMode = "singleTop"。
ここで、AからBへのインテントを渡したいと、「sdcard/Android」(ディレクトリパス)と言いました。その後、Aは終了し、Bは作成/再開/ onNewintentになります。最初に、Bはインテント文字列 "sdcard/Android"を受信します。これはまさに私が欲しいものです。
次に、ホームボタンをランチャーに押し込んでAを開き、新しいデータを「sdcard/Music」とBに渡します。ただし、問題が発生した場合、Bは文字列「sdcard/Music」を取得しませんBのインテントデータはまだ "sdcard/Android"です。
私は2回目にBにデータを渡すことを期待していますが、onNewintentメソッドはBで呼び出されます。何か問題はありますか? 2回目にBに正しいデータを渡すにはどうすればよいですか?
@Override
public void onCreate(Bundle savedInstanceState) {
onNewIntent(getIntent());
}
@Override
public void onNewIntent(Intent intent)
{
Log.i("TAG", intent.getStringExtra("path"));
}
私はonNewIntentを上書きする必要があることを知っています。最初に、BはonCreateメソッドに入ります。 2回目に、私はonNewIntentメソッドに入ると思います。しかし、それはonResumedメソッドに入る..!
私は、私の記事に感謝を何かを置くことができます。 – s011208
問題は、BがonNewIntentメソッドに入ることはありません!どうして? – s011208
'onNewIntent(...)'を直接呼び出さず、 'IntInt'を渡すために' getIntent() 'を使わないでください。これはあなたがしたくないものです。メソッドonNewIntent(...)はAndroidフレームワークによって自動的に呼び出されるため、あなた自身で呼び出すべきではありません。 – Squonk