我在Android中使用sqlite db遇到问题。但是,当我在Internet上进行快速研究时,我怀疑问题与sqlite无关,而与系统用户有关。我的应用程序未被识别为访问数据库功能的授权用户。我试图在堆栈溢出中应用可能的建议解决方案,但没有一个起作用。每次尝试使用数据库功能时,我都会遇到此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
但仍然没有声音。奇怪的是,当我尝试添加INTERNET权限时,Android Studio 0.3(我使用的ide)建议我可以选择的权限。但是,当涉及到INTERACT_ACROSS_USERS_FULL权限时,它的行为就像对这个权限一无所知。我的测试设备是运行于4.3的Samsung S4。
我假设我不是唯一尝试在android上使用db的人。因此,有一个解决方案。
如何真正向我的应用程序添加INTERACT_ACROSS_USERS_FULL权限?