您的位置:首页 > 产品设计 > UI/UE

【遇见Android bug】java.lang.IllegalArgumentException: contentView required: pkg=com.sinvideo.joyshow id

2014-09-16 10:18 615 查看
09-11 15:54:28.800: E/AndroidRuntime(24863): FATAL EXCEPTION: main

09-11 15:54:28.800: E/AndroidRuntime(24863): Process: com.sinvideo.joyshow, PID: 24863
09-11 15:54:28.800: E/AndroidRuntime(24863): java.lang.IllegalArgumentException: contentView required: pkg=com.sinvideo.joyshow id=1000 notification=Notification(pri=0 contentView=null vibrate=null sound=null defaults=0x4 flags=0x0
kind=[null])

09-11 15:54:28.800: E/AndroidRuntime(24863): at android.os.Parcel.readException(Parcel.java:1472)

09-11 15:54:28.800: E/AndroidRuntime(24863): at android.os.Parcel.readException(Parcel.java:1422)

09-11 15:54:28.800: E/AndroidRuntime(24863): at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:320)

09-11 15:54:28.800: E/AndroidRuntime(24863): at android.app.NotificationManager.notify(NotificationManager.java:136)

09-11 15:54:28.800: E/AndroidRuntime(24863): at android.app.NotificationManager.notify(NotificationManager.java:109)
09-11 15:54:28.800: E/AndroidRuntime(24863): at com.sinvideo.joyshow.view.SplashActivity$3$1.run(SplashActivity.java:193)

09-11 15:54:28.800: E/AndroidRuntime(24863): at android.os.Handler.handleCallback(Handler.java:733)

09-11 15:54:28.800: E/AndroidRuntime(24863): at android.os.Handler.dispatchMessage(Handler.java:95)

09-11 15:54:28.800: E/AndroidRuntime(24863): at android.os.Looper.loop(Looper.java:136)

09-11 15:54:28.800: E/AndroidRuntime(24863): at android.app.ActivityThread.main(ActivityThread.java:5262)

09-11 15:54:28.800: E/AndroidRuntime(24863): at java.lang.reflect.Method.invokeNative(Native Method)

09-11 15:54:28.800: E/AndroidRuntime(24863): at java.lang.reflect.Method.invoke(Method.java:515)

09-11 15:54:28.800: E/AndroidRuntime(24863): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:851) 

09-11 15:54:28.800: E/AndroidRuntime(24863): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:667)

09-11 15:54:28.800: E/AndroidRuntime(24863): at dalvik.system.NativeStart.main(Native Method)

这个我原本的代码,想要解决这个问题,只需要给notification添加一个事件setLatestEventInfo。     

NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notify = new Notification();
notify.icon = R.drawable.ic_launcher;
notify.tickerText = "点击下载最新App";
notify.when = System.currentTimeMillis();
notify.defaults = Notification.DEFAULT_LIGHTS;
notify.flags = Notification.FLAG_AUTO_CANCEL;

nm.notify(notificationId, notify);

instance.put("activeUpdateShouldShow", false);


解决方案如下:

Intent intent = new Intent(ctx, UpdateService.class);
intent.putExtra("apkUrl", apkurl);
PendingIntent pendIntent = PendingIntent.getService(ctx, 0, intent, 0);

notify.setLatestEventInfo(ctx, "AAAAA", "BBBBBBB", pendIntent);


但是setLatestEventInfo方法是一个过时的方法,至于用什么方式替代还有待研究
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android Notification
相关文章推荐