我想在通知中添加点击操作(退出(完成))。 我正在创建一个包含多个类的简单应用程序,我希望在点击通知时它们全部完成。 这是我的通知代码:
mMN = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification n = new Notification();
n.icon = R.drawable.ic_launcher;
n.tickerText = "Tap this notification to exit";
n.when = System.currentTimeMillis();
Intent nid = new Intent(MainActivity.this, stopservice.class);
PendingIntent ci = PendingIntent.getActivity(this, 0, nid,PendingIntent.FLAG_UPDATE_CURRENT);
CharSequence ct = "TAP";
CharSequence tt = "Tap here to exit";
n.setLatestEventInfo(this,ct,tt,ci);
mMN.notify(NOTIFICATION_ID, n);
我在stopservice class
上引用了Intent nid
(这是我的停止服务代码),但我不确定它是否是正确的引用。
希望我的问题很明确。
答案 0 :(得分:1)
您应该使用通知构建器:
mMN = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Intent nid = new Intent(MainActivity.this, stopservice.class);
// If you were starting a service, you wouldn't using getActivity() here
PendingIntent ci = PendingIntent.getActivity(MainActivity.this, NOTIFICATION_ID, nid, PendingIntent.FLAG_UPDATE_CURRENT);
Notification.Builder builder = new Notification.Builder(MainActivity.this);
builder.setContentTitle("TAP")
.setContentText("Tap here to exit")
.setTicker("Tap this notification to exit")
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(ci)
.setAutoCancel(true); // auto cancel means the notification will remove itself when pressed
mMN.notify(NOTIFICATION_ID, builder.getNotification());
您的代码设置为启动Activity“stopservice”(技术上应该是带有命名约定的“StopService”),您确定该类是一个Activity吗?
此外,确保您的活动已在您应用的清单中注册:
<activity android:name="[package-name].stopservice" android:label="@string/app_name"/>