状态栏通知插件与cordova错误

我试图添加Cordova的状态栏通知插件到我的Android应用程序,但我得到一个错误,它的代码。

这是有问题的代码:

Notification noti = new Notification.Builder(context) .setContentTitle(contentTitle) .setContentText(contentText) .setSmallIcon(icon) .build(); 

错误是在.build() ,Eclipse告诉我:

“方法build()对于Notification.Buildertypes是未定义的”

Solutions Collecting From Web of "状态栏通知插件与cordova错误"

我有同样的问题。 它看起来像sdk版本和现在折旧方法不匹配。

getNotification()是API 11 build()添加到API 16中后调用的方法

如果你像我一样,你正在使用一个版本<16,所以使用.getNotification()来代替。

我现在不会担心API 16,但我敢打赌,如果我下载16并将我的目标设置为这样,build()将工作。

请让我知道这对你有没有用。

对于我.getNotification()没有解决问题,因为我需要一个解决scheme的API 10和更高。

我find了一个方法来处理它。 如果别人有同样的问题,我build议这样做:

1)通过StatusBarNotification( 点击 )

2)修改StatusBarNotification.java

私人通知noti;

private PendingIntent contentIntent; 在StatusBarNotification类的底部,例如在NotificationManager声明之前

  • 修改showNotification方法

评论或删除:

 导入android.app.Notification.Builder; 

Notification noti = new Notification.Builder(context) .setContentTitle(contentTitle) .setContentText(contentText) .setSmallIcon(icon) .build();

粘贴:

  noti = new Notification(android.R.drawable.btn_star_big_on,contentText,System.currentTimeMillis());
 noti.flags = Notification.FLAG_AUTO_CANCEL;


 Intent notificationIntent = new Intent(context,!yourMainActivityClass!.class);
 notificationIntent.setAction(Intent.ACTION_MAIN);
 notificationIntent = notificationIntent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
 contentIntent = PendingIntent.getActivity(context,0,notificationIntent,0);

 noti.setLatestEventInfo(context,contentTitle,contentText,contentIntent); 
  • 更改!yourMainActivityClass! 到你们class上
  • 在index.html中添加调用方法对于testing,您可以使用JQMbutton

    onclick ='window.plugins.statusBarNotification.notify(“把你的标题放在这里”,“把你的消息放在这里”);返回false;'

我知道这个解决scheme使用的是折旧方法,但是我花了很多时间来使它工作,我没有看到API 10的另一个解决scheme。如果有人有更好的想法,与我分享;)