Android Cordova状态栏通知插件错误

Android Cordova状态栏通知插件错误,android,eclipse,cordova,phonegap-plugins,Android,Eclipse,Cordova,Phonegap Plugins,我正在尝试将Cordova的状态栏通知插件添加到我的Android应用程序中,但代码出错 下面是有问题的代码: Notification noti = new Notification.Builder(context) .setContentTitle(contentTitle) .setContentText(contentText) .setSmallIcon(icon) .build(); 错误出现在.build()上,Eclipse告诉我: “类型N

我正在尝试将Cordova的状态栏通知插件添加到我的Android应用程序中,但代码出错

下面是有问题的代码:

  Notification noti = new Notification.Builder(context)
    .setContentTitle(contentTitle)
    .setContentText(contentText)
    .setSmallIcon(icon)
    .build();
错误出现在
.build()
上,Eclipse告诉我:

“类型Notification.Builder的方法build()未定义”


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

getNotification()是自API 11以来要调用的方法 在API 16中添加了build()

如果您和我一样,您使用的是<16的版本,那么请改用.getNotification()

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

让我知道它是否对您有效。

对我来说。getNotification()没有解决问题,因为我需要API 10及更高版本的解决方案

我找到了一个解决办法。如果其他人也有同样的问题,我建议这样做:

1) 查看状态通知()的说明

2) 修改StatusBarNotification.java

  • 非公开通知

    私人悬而未决的意图
在StatusBarNotification类的底部,例如在NotificationManager声明之前

  • 修改showNotification方法
评论或删除:

import android.app.Notification.Builder;
  • 改变!你的主要活动类!给你们班
  • 在index.html中添加调用方法,用于可以创建JQM按钮的测试

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


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

谢谢大家!!是的,我的目标是API 15。现在它工作得很好。即使在使用了.getNotification()之后,.java文件中的错误对我来说已经消失了,但插件不起作用。@CodeGuru您还必须修改javascript文件,我认为它是为旧版本的cordova制作的。您可以使用以下代码:window.notify=function(title,body){cordova.exec(null,null,'StatusBarNotification','notify',[title,body]);};window.clear=function(){cordova.exec(null,null,'StatusBarNotification','clear',[]);}然后从代码中调用notify或clear函数。 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);