簡體   English   中英

Android 2.3.3中的NotificationCompat破解,但在Android 4.2.2中運行良好

[英]NotificationCompat crack in Android 2.3.3 but works well in Android 4.2.2

我使用以下代碼在通知狀態上顯示一個圖標,它在Android 4.2.2中運行良好。

但它在Android 2.3.3中破解了,為什么? 謝謝!

findViewById(R.id.btnLog).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //------------------------------------
                NotificationCompat.Builder mBuilder =
                        new NotificationCompat.Builder(getApplicationContext())
                        .setSmallIcon(R.drawable.smsforward)
                        .setContentTitle("My notification")
                        .setContentText("Hello World!");

                NotificationManager mNotificationManager =
                    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);               
                mNotificationManager.notify(12356, mBuilder.build());               

                //------------------------------------

            }
        }); 

這是堆棧跟蹤:

02-24 05:55:22.925: E/AndroidRuntime(543): FATAL EXCEPTION: main
02-24 05:55:22.925: E/AndroidRuntime(543): java.lang.IllegalArgumentException: contentIntent required: pkg=info.dodata.smsforward id=12356                    

                         notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x0)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.os.Parcel.readException(Parcel.java:1326)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.os.Parcel.readException(Parcel.java:1276)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:274)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.app.NotificationManager.notify(NotificationManager.java:111)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.app.NotificationManager.notify(NotificationManager.java:91)
02-24 05:55:22.925: E/AndroidRuntime(543):  at ui.SMSMain$5.onClick(SMSMain.java:130)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.view.View.performClick(View.java:2485)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.view.View$PerformClick.run(View.java:9080)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.os.Handler.handleCallback(Handler.java:587)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.os.Handler.dispatchMessage(Handler.java:92)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.os.Looper.loop(Looper.java:123)
02-24 05:55:22.925: E/AndroidRuntime(543):  at android.app.ActivityThread.main(ActivityThread.java:3683)
02-24 05:55:22.925: E/AndroidRuntime(543):  at java.lang.reflect.Method.invokeNative(Native Method)
02-24 05:55:22.925: E/AndroidRuntime(543):  at java.lang.reflect.Method.invoke(Method.java:507)
02-24 05:55:22.925: E/AndroidRuntime(543):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-24 05:55:22.925: E/AndroidRuntime(543):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-24 05:55:22.925: E/AndroidRuntime(543):  at dalvik.system.NativeStart.main(Native Method)

是的,我在某些設備上有相同的東西。 我有兩部2.2手機LG和HTC。 LG運行良好,但HTC拋出IllegalArgumentException異常。 只需將contentIntent添加到您的通知中即可。 某些設備存在parcelling通知問題,如果沒有contentIntent設置則不會顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM