私は 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)
上記の例外には、私のアプリケーションに関連するコードの一部が含まれておらず、上記の問題に対する満足のいく解決策も見つかりません。
編集: アプリを更新しようとすると、アプリがプレイストアの「必要な許可」セクションに11の新しい許可を表示し始めることを追加した後、プッシュ通知に外部ライブラリ(SDK)を使用しています
これらの権限の一部は次のとおりです。
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' //(build.gradle) の Android Studio に推奨
上記のプロセスを適用した後、それらの許可は削除され、アプリケーションをアップロードします。
新しいバージョンのアプリで実行したのはこれらのことだけです。最近、そのライブラリプロジェクトも調べましたが、内部にいくつかのサブフォルダーと.classファイルを含むフォルダー「shortcutbadger」が含まれています
上記の変更が原因で、その例外を受け取り始めていますか? 説明/助けてください!