2013-05-05 72 views
0

我试图创建一个通知。NotificationCompat .AddAction不支持String参数

这是我的示例代码:

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是不适用于此参数:

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

问题是什么?

这是的minSdkVersion 16和targetSdkVersion是17

回答

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如果您需要更多帮助的其他例子。