java.lang.NoSuchMethodError:android.app.Notification $ Builder.build

时间:2013-07-17 08:27:58

标签: android notifications

我刚刚在我的应用中的通知栏添加了通知图标,该通知栏支持Android> = 11并且它开始抛出以下错误:

java.lang.NoSuchMethodError: android.app.Notification$Builder.build
at com.xynapse.autokam.MainActivity.onCreate(MainActivity.java:195)
at android.app.Activity.performCreate(Activity.java:4519)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
at android.app.ActivityThread.access$600(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4464)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:822)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:589)
at dalvik.system.NativeStart.main(Native Method)

以下是我负责构建通知的代码部分。

navigationIntent = new Intent(this, MainActivity.class);
navigationIntent.setAction(Intent.ACTION_MAIN);
navigationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
navigationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
pi = PendingIntent.getActivity(this, 0, navigationIntent,0);

notification = new Notification.Builder(this)
.setContentIntent(pi)
.setSmallIcon(R.drawable.splash_logo)
.setContentTitle("Status")
.setContentText("Standby mode")
.build();

有没有人知道为什么我为简单的.build方法获得NoSuchMethodError?或者我在这里错过了什么?

提前致谢。

更新 在我看来,在API16中添加了.build方法,这是一个愚蠢的问题,但也许它会帮助某人:)

1 个答案:

答案 0 :(得分:17)

答案与此处的答案相同:java.lang.NoSuchMethodError: android.app.Notification$Builder.addAction

您可以使用Android支持包中的NotificationCompat.Builderandroid.support.v4.app.NotificationCompat.Builder)。