Notification 게시 오류 문제
3145 단어 notificationandroid
런타임에 오류가 발생했습니다.
04-28 08:18:36.766: E/AndroidRuntime(683): FATAL EXCEPTION: main04-28 08:18:36.766: E/AndroidRuntime(683): java.lang.IllegalArgumentException: contentView required: pkg=com.carter id=43 notification=Notification(vibrate=default,sound=default,defaults=0xffffffff,flags=0x0) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.os.Parcel.readException(Parcel.java:1326) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.os.Parcel.readException(Parcel.java:1276) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:274) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.app.NotificationManager.notify(NotificationManager.java:111) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.app.NotificationManager.notify(NotificationManager.java:91) 04-28 08:18:36.766: E/AndroidRuntime(683): at com.carter.NotificationTestActivity$1.onClick(NotificationTestActivity.java:45) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.view.View.performClick(View.java:2485) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.view.View$PerformClick.run(View.java:9080) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.os.Handler.handleCallback(Handler.java:587) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.os.Handler.dispatchMessage(Handler.java:92) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.os.Looper.loop(Looper.java:123) 04-28 08:18:36.766: E/AndroidRuntime(683): at android.app.ActivityThread.main(ActivityThread.java:3683) 04-28 08:18:36.766: E/AndroidRuntime(683): at java.lang.reflect.Method.invokeNative(Native Method) 04-28 08:18:36.766: E/AndroidRuntime(683): at java.lang.reflect.Method.invoke(Method.java:507) 04-28 08:18:36.766: E/AndroidRuntime(683): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 04-28 08:18:36.766: E/AndroidRuntime(683): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 04-28 08:18:36.766: E/AndroidRuntime(683): at dalvik.system.NativeStart.main(Native Method)
대체적으로 말하면, 불법 매개 변수 이상을 던졌는데, 그 이유는 콘텐츠View가 필요하기 때문이다
소스 코드:
Intent intent = new Intent(NotificationTestActivity.this, OtherActivity.class);
PendingIntent pendIntent = PendingIntent.getActivity(NotificationTestActivity.this, 0, intent, 0);
Notification notification = new Notification();
notification.icon = R.drawable.ok;
notification.when = System.currentTimeMillis();
notification.tickerText = " ";
notification.defaults = Notification.DEFAULT_ALL;
NotificationManager manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
manager.notify(NOTIFICATION_ID, notification);
분석해 보니 원인을 찾았는데 원래는 Notification을 설정하지 않았다.setLatestEventInfo() 메서드,
notification 각 속성 이후 발송 전에 추가
notification.setLatestEventInfo(NotificationTestActivity.this, " ", " ", pendIntent);
이후에 모든 것이 정상이 되었다.
구체적인 원인은 아직 모르니 그 원리를 아는 친구가 있으면 많이 지적해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ServiceWorker: 수명 주기, 업데이트 및 알림If you have tried CRA (create react app), have you ever wonder what does this file - `/src/serviceWorker.js` do? In this...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.