Android5.0 自定义图标,闪退,报错android.app.RemoteServiceException

alexzhang
2016-10-10 06:36 3.3k 0
android.app.RemoteServiceExceptionBad
 notification posted from package com.xxxx: Couldn't create icon: 
StatusBarIcon(pkg=com.xxxx user=0 id=0x7f020095 level=0 visible=true 
num=0 )

android.app.ActivityThread$H.handleMessage(ActivityThread.java:1535) 2
android.os.Handler.dispatchMessage(Handler.java:102) 3 
android.os.Looper.loop(Looper.java:155) 4 
android.app.ActivityThread.main(ActivityThread.java:5696) 5 
java.lang.reflect.Method.invoke(Native Method) 6 
java.lang.reflect.Method.invoke(Method.java:372) 7 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029) 8 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)

以下是设备信息

问题说明如下:

1、最近在htc的手机上发现通知栏推送图标为空白,然后在官方文档上发现可以自定义一个push图标,并按照规定命名,放到了drawable文件夹下。

2、但出现问题:在公司的测试机上htc上面,只要收到推送就会闪退,报上面的异常,使用的jpush的默认通知。

3、个人解决方案:我就暂时把那个自定义图标去掉了,就好了。

4、请问这个可能是什么原因呢?我怎样做才能正常使用自定义的图标呢?


探讨的信息总结:
1、极光获取的是 drawable 文件夹下的资源
2、对5.0图标的适配说明:特别强调没有阴影和渐变色,图片背景最好透明。同名替换res/drawable-xxxx/jpush_notification_icon这个资源。图标要完全符合Android 5.0的规范。
3、该开发者最终的问题落脚到:
刚换好后测试推送是正常的,过了一段时间后测试推送,收到消息就闪退了

最后解决方案:把build.gadle里面配置修改了,打包的时候不移除无用rescources


这里强调一下: 要自定义图标,应该将res文件夹下的icon文件都替换,以免某些机型显示为系统默认图标。

2个回答

热门排序
  • 目前来看没问题了,我把build.gadle里面配置修改了,打包的时候不移除无用rescources,应该是这个问题吧。麻烦了Lris,Thanks

  • alexzhang
    2016-10-10 06:50

    原来版本是2.15 现在升级到了2.19还是有会报这个错误