我是 Android 开发的新手,在 Play 商店发布后,我在某些设备上面临以下异常。这对我来说是完全未知的例外。此异常强制停止/崩溃我的应用程序。
完整的堆栈跟踪记录:
Exception java.lang.SecurityException: Missing permission to insert badges
android.os.Parcel.readException (Parcel.java:1553)
android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:185)
android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:137)
android.content.ContentProviderProxy.insert (ContentProviderProxy.java:476)
android.content.ContentResolver.insert (ContentResolver.java:1213)
android.content.AsyncQueryHandler$WorkerHandler.handleMessage (AsyncQueryHandler.java:96)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:211)
android.os.HandlerThread.run (HandlerThread.java:61)
如上所述,异常不包含与我的应用程序相关的任何代码部分,而且我也没有找到任何令人满意的解决方案来解决上述问题。
编辑: 当我要更新我的应用程序时,我正在使用外部库(SDK)进行推送通知,在添加我的应用程序开始在 Play 商店“必需权限”部分显示 11 个新权限后
其中一些权限是:
com.htc.launcher.permission.READ_SETTINGS
com.htc.launcher.permission.UPDATE_SHORTCUT
com.huawei.android.launcher.permission.CHANGE_BADGE
com.huawei.android.launcher.permission.READ_SETTINGS
com.huawei.launcher.permission.WRITE_SETTINGS
com.sec.android.provider.badge.permission.READ
com.sec.android.provider.badge.permission.WRITE
com.sonyericsson.home.permission.BROADCAST_BADGE
com.sonymobile.home.permission.PROVIDE_INSERT_BADGE
我没有在我自己的清单文件中添加这些权限,因此我通过在应用程序标记中添加以下代码行来修改我的“AndroidManifest”文件:
<application
<--some code-->
tools:replace="android:icon, android:allowBackup"
>
并使用 SDK 的 .jar 文件而不是像这样编译它
compile 'com.abc.xyz:3.+@aar' //建议用于 android studio in (build.gradle)
应用上述过程后,这些权限被删除,我上传了我的申请。
只有这些我在我的新版本应用程序中执行的操作。我最近还查看了该库项目,它包含一个文件夹“shortcutbadger”,内部包含一些子文件夹和.class文件
是由于上述更改我开始收到该异常吗?请解释/帮助!