代码从BroadcastReceiver创建通知
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(G.context)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(G.context.getString(R.string.app_name))
.setContentText("text")
.setAutoCancel(true)
.setColor(Color.MAGENTA);
Intent intent = new Intent(G.context, B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(G.context);
taskStackBuilder.addParentStack(MainActivity.class);
taskStackBuilder.addNextIntent(intent);
PendingIntent resultPendingIntent = taskStackBuilder.getPendingIntent(0, PendingIntent.FLAG_CANCEL_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) G.context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(2, mBuilder.build());
答案 0 :(得分:0)
如果您目前在MainActivity.java
,然后点击通知并转到B Activity
,只需在您的背压控制{{1}中拨打this.finish()
或onBackPressed()
即可} 方法。如果您通过点击一个通知从任何地方打开onClick()
,请在B Activity
中拨打以下方法。
B activity
你可以这样做的其他方式
你不需要做任何事情。默认情况下,当您从活动A移动到活动B时,Android会将活动A添加到Backstack。当您按活动B中的后退按钮或完成后,它会自动从后台恢复活动A.
如果您希望以编程方式完成活动B,请在需要时调用activity的finish()方法。
详细信息Check this