这是我的通知代码。我想要onClick我的应用程序启动。现在没有任何事情发生
private void CheckNoti(){
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(
service.this);
notificationBuilder.setContentTitle("Title");
notificationBuilder.setContentText("Context");
notificationBuilder.setTicker("TickerText");
notificationBuilder.setWhen(System.currentTimeMillis());
notificationBuilder.setSmallIcon(R.drawable.ic_stat_icon);
Intent notificationIntent = new Intent(this, service.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
notificationIntent, 0);
notificationBuilder.setContentIntent(contentIntent);
notificationBuilder.setDefaults(Notification.DEFAULT_SOUND
| Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE);
mNotificationManager.notify(1,
notificationBuilder.build());
} }
这是一个类中的代码。它不在MainActivity中。所以我做不了类似的事情:
intent.setClassName("your.package.name", "ActivityToLaunch");
我认为因为我已经在做Intent notificationIntent = new Intent(this, service.class);
答案 0 :(得分:0)
如果您的应用程序已经运行,请将其置于前台,您需要在意图上设置不同的标记:
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
对于运行特定方法,您可以只传递额外信息和意图,并在应用程序中解释它以决定运行哪种方法。