2017-11-05 11 views
0

ローカルの通知とその操作を使用しようとしています。私は、通知を作成し、複数のアクションタイプを処理したい。私の通知は、ユーザーに質問をします。はいまたはいいえの2つのオプションがあります。私の実装は以下の通りです:Android通知の動作

Intent yesReceive = new Intent(this, this.getClass()); 
yesReceive.setAction("YES"); 
PendingIntent pendingIntent = PendingIntent.getActivity(this, CODE, yesReceive, PendingIntent.FLAG_UPDATE_CURRENT); 
mBuilder.addAction(R.drawable.icon1, "Yes", pendingIntent); 

アクティビティを再作成します。しかし、古い活動はすでに生きている。私が戻るボタンを押すと、私はそれを見ることができます。新しい活動をどのように置き換えることができますか?

答えて

0

「終了()」を使用して、次のアクティビティに移動する前にアクティビティを閉じることができます。

ここに簡単な例を示します。

startActivity(intent); < - ここでは、プログラムに目的のアクティビティを開始するよう指示しています。

finish(); < - ここでは、次のプログラムに移動する前に、現在のアクティビティを終了するようにプログラムに依頼しています。

Intent yesReceive = new Intent(this, this.getClass()); yesReceive.setAction("YES"); PendingIntent pendingIntent = PendingIntent.getActivity(this, CODE, yesReceive, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.addAction(R.drawable.icon1, "Yes", pendingIntent); finish();

+0

下の行で、この問題を解決します。しかし、私の問題は、通知を通知し、私が「はい」ボタンを押すとアクティビティが作成され、同時に同じアクティビティクラスのインスタンスが多数あることです。 – us2956

0

私は、このコードは、現在の活動を終了し、通知を作成し

android:launchMode="singleTop" 
+0

申し訳ありませんが、解決策ではありません。それは、再起動時の意図の余分な部分を逃してしまうからです。 – us2956