権限拒否: android.permission.INTERACT_ACROSS_USERS_FULL が必要です 質問する

権限拒否: android.permission.INTERACT_ACROSS_USERS_FULL が必要です 質問する

Android の sqlite db に問題があります。しかし、インターネットで簡単に調べたところ、問題は sqlite ではなくシステム ユーザーに関連しているのではないかと思います。私のアプリは、db 機能にアクセスする権限のあるユーザーとして認識されません。Stack Overflow で提案されている解決策を試してみましたが、どれも効果がありませんでした。これは、db 機能を使用しようとするたびに直面する LogCat です。

12-14 02:35:17.721    2953-3355/? E/DatabaseUtils﹕ Writing exception to parcel
java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13082)
at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038)
at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:577)
at android.content.ContentProvider$Transport.call(ContentProvider.java:279)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273)
at android.os.Binder.execTransact(Binder.java:388)
at dalvik.system.NativeStart.run(Native Method)

権限を追加しようとしました

android.permission.INTERACT_ACROSS_USERS_FULL

しかし、まだ音が出ません。奇妙なことに、インターネット権限を追加しようとすると、Android Studio 0.3 (私が使用している IDE) が選択可能な権限を提案します。しかし、INTERACT_ACROSS_USERS_FULL 権限になると、この権限について何も知らないかのように動作します。私のテスト デバイスは、4.3 で実行されている Samsung S4 です。

Android で db を使用しようとしているのは私だけではないと思います。したがって、解決策があります。

アプリケーションに INTERACT_ACROSS_USERS_FULL 権限を実際に追加するにはどうすればよいですか?

ベストアンサー1

この回答によると:android.permission.INTERACT_ACROSS_USERS_FULL署名レベルの権限です。システムと同じ署名がない限り、アプリはそれを使用できません。

これは、作成者またはシステム ビルドでない限り、または作成者またはシステム ビルドと協力し、作成者が証明書を使用して apk に署名することに同意しない限り、実現できないことです。言い換えれば、これはほとんどの開発者にとって立ち入り禁止です。

おすすめ記事