我有三个屏幕,如登录,第二和第三。根据我的条件,我生成状态栏通知。如果用户单击我要显示第三个屏幕的通知。它工作正常。但当我重新启动应用程序时,第三个屏幕即将到来。我想在点击通知时显示第三个屏幕。其他明智的我的第一个屏幕应该是登录页面。
我可以使用以下代码显示通知
public void showNotification()
{
NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.ic_launcher, "A New Message!", System.currentTimeMillis());
Intent notificationIntent = new Intent(Preferences.this,PendingOffers.class);
PendingIntent pendingIntent = PendingIntent.getActivity(Preferences.this, 0, notificationIntent, 0);
notification.setLatestEventInfo(Preferences.this,"sample notification", "notificationMessage", pendingIntent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, notification);
};
答案 0 :(得分:1)
Intent intent = new Intent(this, some.class)
intent.putExtra("yourpackage.notifyId", id);
PendingIntent contentIntent = PendingIntent.getActivity(this, 1, intent, 0);
有关详细信息,请查看此link
答案 1 :(得分:1)
你可以为意图设置标志, 例如
FLAG_ACTIVITY_NO_HISTORY
参考:http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY 检查其他标志。
答案 2 :(得分:1)
您提出的问题与您正在使用的通知无关。用户返回到您应用程序中的第三个Activity
,因为当您的应用程序没有真正停止,但只是在后台暂停时,用户默认返回到他在启动器图标时查看的上一个活动再次点击。
根据您的具体情况,此问题有多种解决方案。如果用户永远不会返回第三个Activity
,您可以在清单中为该活动设置android:noHistory=“true”
,请参阅此处:How does android:noHistory=“true” work?
如果只有登录用户应该能够返回第三个Activity
,那么只要用户登录SharedPreferences
即可存储。当第三个Activity
开始时,您检查该值并使用Intent.FLAG_ACTIVITY_CLEAR_TOP
的标记Intent
将用户重定向到Login-Activity。这将在您最后一次执行Login-Activity后清除堆栈中的所有Activities
。