如何处理推送通知点击我需要打开具有特定片段的活动, 我有两个状态,如应用程序已关闭,应用程序已打开,当应用程序关闭时,我需要使用MyFragment.class打开主页活动,如果应用程序被选中,那么我需要显示对话框你需要查看详细信息,如果是的话我需要打开像MyFragment这样的特定片段,如果没有我需要解析对话框,那么如何实现它......
@SuppressWarnings("deprecation")
@Override
public void update(java.util.Observable observable, Object data) {
NotificationManager notificationManager = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
long when = System.currentTimeMillis();
Notification notification = new Notification(R.drawable.ic_launcher,
data.toString(), when);
String title = this.getString(R.string.app_name);
Intent notificationIntent = new Intent(this, MainActivity.class);
// set intent so it does not start a new activity
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(this, 0,
notificationIntent, 0);
notification.setLatestEventInfo(this, title, data.toString(), intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
// Play default notification sound
notification.defaults |= Notification.DEFAULT_SOUND;
// Vibrate if vibrate is enabled
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(0, notification);
Log.d("GCM_TOKEN", data.toString());
Toast.makeText(this, "Error: " + data.toString(), Toast.LENGTH_LONG)
.show();
}
谢谢
答案 0 :(得分:0)
我几天前已经实现了这一点。 首先,我开始使用名为isRunning的静态变量确定活动和非活动状态。 在Activities onStart()中 - 方法我将isRunning设置为true,当Activity进入stop时,将变量设置为false。因此,您可以确定活动和非活动状态。
@Override
public void onStart() {
super.onStart();
mIsRunning = true;
}
@Override
public void onStop() {
super.onStop();
mIsRunning = false;
}
根据此变量,您可以根据需要显示通知; - )