NotificationCompat .AddAction不支持String参数

时间:2013-05-05 09:34:26

标签: android notifications

我正在尝试创建通知。

这是我的示例代码:

    NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.icon)
            .setContentTitle("My notification")
            .addAction(android.R.drawable.ic_menu_camera, getResources().getString(R.string.Action), NotificationReceiverActivity.class)
            .setContentText("Hello World!");

但是Eclipse告诉我,方法addAction不适用于这个参数:

  

NotificationCompat.Builder类型中的方法addAction(int,CharSequence,PendingIntent)不适用于参数(int,String,Class)

有什么问题?

此minSdkVersion为16,targetSdkVersion为17

1 个答案:

答案 0 :(得分:1)

addAction()的第三个参数需要是PendingIntent,但您要传递一个类。做这样的事情:

Intent intent = new Intent(this, NotificationReceiverActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
NotificationCompat.Builder mBuilder =
        new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.icon)
        .setContentTitle("My notification")
        .addAction(android.R.drawable.ic_menu_camera, getResources().getString(R.string.Action), pi)
        .setContentText("Hello World!");

如果您需要更多帮助,请查看使用通知构建器和/或使用PendingIntent的其他示例。