eph*_*amd 2 notifications android android-notifications android-notification-bar android-activity
当我点击通知时,请应用以下内容:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在应用程序的所有"startActivity"中,我应用了下一个标志:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
Run Code Online (Sandbox Code Playgroud)
startActivity我的通知执行以下操作:调用活动"Splash"并称为"Main".
Casulidad如果我在"主"脉冲通知中,关闭电流(正常工作).但是,如果我在活动"新闻"并且通知脉冲,我有2个活动开放,新的"主要"和前"新闻".
如何通过单击通知关闭我的应用程序的任何活动?
您可以在通知中设置PendingIntent,该PendingIntent将由broadcastReceiver中的Activity捕获.然后在活动的broadcastReceiver中,调用finish();
This应该关闭你的活动.
即把它放在你的活动中
BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
};
Run Code Online (Sandbox Code Playgroud)
这在你的 onCreate()
IntentFilter filter = new IntentFilter("android.intent.CLOSE_ACTIVITY");
registerReceiver(mReceiver, filter);
Run Code Online (Sandbox Code Playgroud)
然后,您的通知中的PendingIntent应该"android.intent.CLOSE_ACTIVITY"为您的活动包提供一揽子安全措施.
这是通过
Intent intent = new Intent("android.intent.CLOSE_ACTIVITY");
PendingIntent pIntent = PendingIntent.getBroadcast(context, 0 , intent, 0);
Run Code Online (Sandbox Code Playgroud)
然后使用setContentIntent(pIntent)Notification.Builder构建通知时将其添加到您的通知中.