3

我想在通知中添加点击操作(退出(完成))。我正在制作一个包含多个类的简单应用程序,当我点击通知时,我希望它们全部完成。这是我的通知代码:

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(我的停止服务代码) on Intent nid,但我不太确定它是否是正确的参考。

希望我的问题很清楚。

4

1 回答 1

3

您应该使用通知生成器:

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());

您的代码设置为启动活动“stopservice”(从技术上讲,它应该是具有命名约定的“StopService”),您确定该类是一个活动吗?

此外,请确保您的 Activity 已在您的应用清单中注册:

<activity android:name="[package-name].stopservice" android:label="@string/app_name"/>
于 2013-07-20T02:41:31.763 回答