1

我有我的自定义通知:

Intent myIntent = new Intent(this, MainActivity.class);
PendingIntent myPendingIntent = PendingIntent.getActivity(this, 0, myIntent, 0);

// build notification
// the addAction re-use the same myIntent to keep the example short
Notification myNotification  = new Notification.Builder(this)
    .setContentTitle("My App")
    .setContentText("Service is not running")
    .setSmallIcon(R.drawable.ic_launcher)
    .setContentIntent(myPendingIntent)
    .setAutoCancel(true)
    .addAction(R.drawable.ic_action_mic, "Start Service", myPendingIntent).build();

NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

notificationManager.notify(0, myNotification); 

我只是在问我应该把 onClickListener 放在哪里生成的按钮.addAction()

4

2 回答 2

1

单击通知时,您的 MainActivity 将被打开。

因此,在您的活动的 onCreate 中,您可以放置​​您的 onClick 代码。

具体来说,在您的待定意图创建上方添加一行:

myIntent.putExtra("FromNotification", true);

然后在您的 MainActivity 的 onCreate 中检查如下:

if (getIntent() != null && getIntent().getBooleanExtra("FromNotification", false)) {
    // Do your onclick code.
}
于 2013-11-06T04:41:57.030 回答
1

第三个参数addAction是 a PendingIntent,它应该对应于单击该操作时要执行的操作。这可以调用 aBroadcastReceiver或 aService然后处理操作并执行所需的任何操作。

于 2013-11-06T05:02:09.950 回答