我正在尝试将Cordova的状态栏通知插件添加到我的Android应用程序中,但是我的代码出错了。
这是有问题的代码:
Notification noti = new Notification.Builder(context)
.setContentTitle(contentTitle)
.setContentText(contentText)
.setSmallIcon(icon)
.build();
错误出现在.build()
上,Eclipse告诉我:
“方法build()未定义Notification.Builder类型”
答案 0 :(得分:13)
我遇到了同样的问题。它似乎与sdk版本不匹配,现在折旧了。
getNotification()是自API 11以来调用的方法 在API 16中添加了build()
如果你像我一样,你正在使用的版本< 16,所以请改用.getNotification()。
我现在不会担心API 16,但我敢打赌,如果我下载16并将目标设置为这样,build()将会起作用。
让我知道它是否适合你。
答案 1 :(得分:1)
对我来说.getNotification()没有解决问题,因为我需要一个API 10及更高版本的解决方案。
我找到了解决问题的方法。如果其他人有同样的问题,我建议这样做:
1)查看StatusBarNotification(click)
的说明2)修改StatusBarNotification.java
私人通知通知;
private PendingIntent contentIntent;
之前
评论或删除:
import 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);
在index.html中添加调用方法对于测试,您可以使用
创建JQM按钮onclick ='window.plugins.statusBarNotification.notify(“把你的头衔 在这里“,”把你的信息放在这里“);返回false;'
我知道这个解决方案是使用折旧的方法,但我花了很长时间才能使它工作,我没有看到API的另一个解决方案。如果有人有更好的想法,请与我分享;)