通知トレイの通知を作成しています。余分なインテントを削除できません!
Intent intent = new Intent(context, MyActivity.class);
intent.putExtra("foo", true);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setData(Uri.parse("" + System.currentTimeMillis()));
MyActivityクラスは、「foo」パラメータが表示された状態で正常に起動します。しかし、私はその後、余分なものを取り除くことができない - テントに固執しているようだ:
// MyActivity
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// please go away..
intent.removeExtra("foo");
getIntent().removeExtra("foo");
}
反復処理を意図のキーの上には、「foo」がもう存在しないことを示しています。しかし、もし私がその活動をバックグラウンドにしてから再びフォアグラウンドに持っていくと、 "foo"パラメータが再び現れます。
誰でも本当にそれを取り除く方法を知っていますか?私もsetIntent()、同じ動作を呼び出してみました。ランチャーが元の意図を保持し、それを再利用し続けるようなものです。
ありがとうございました
これは、Javaとポインタを持つばかげたケースの1つです。 fooを使わずにコピーした後、元の意図を確定しなければならないかもしれません。 – hwrdprkns
ああ、元の意図をどのようにして完成させるのですか?onNewIntent()からfinish()を呼び出すようなことをして、もう一度アクティビティを再起動しますか?私はユーザーが卑劣なジャンプを見ないと思うし、私は余分な "foo"を取り除くだろう。私はそれが動作すると思う! – user291701
'Intent.finalize()'? – hwrdprkns