首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SecurityException:权限拒绝

SecurityException:权限拒绝
EN

Stack Overflow用户
提问于 2014-11-24 21:46:54
回答 1查看 1.1K关注 0票数 2

背景

我正在开发一个控制屏幕旋转的Android应用程序。该应用程序可在Google商店获得。。为了控制屏幕旋转,应用程序禁用系统自动旋转并更改旋转值。源代码可通过Mercurial/hg获得。

问题

虽然这款应用程序在我的手机上运行良好,但它却在运行Android4.3的朋友三星Galaxy S3上崩溃。崩溃发生在代码之外,因此我无法在Google中获得崩溃报告,堆栈跟踪只显示无法访问的外部代码。

java.lang.SecurityException:权限拒绝:用户的get/set设置请求以用户2的身份运行,但从用户0调用;这需要android.os.Parcel.readException(Parcel.java:1431) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137) at android.content.ContentProviderProxy.call(ContentProviderNative.java:602) at android.provider.Settings$NameValueCache.getStringForUser(Settings.java:934) at android.provider.Settings$System.getStringForUser(Settings.java:1162) at android.provider.Settings$System.getIntForUser(Settings.java:1232) at com.android.internal.policy.impl.WindowOrientationListener$ScreenOrientationEventListenerImpl.onSensorChanged(WindowOrientationListener.java:501) at android.hardware.SystemSensorManager$SensorE

此堆栈跟踪意味着系统自动旋转仍在运行。它还显示,在接收到屏幕方向更改事件后,OS代码试图将int系统设置作为特定用户进行读取。因此,我怀疑这个问题与我禁用旋转或更改旋转有关,两者都是系统设置

故障排除

  • 我检查了关于这个错误的其他问题。他们中的大多数只解释错误意味着什么,而没有提供任何解决方案。我找不到完全相同的呼叫堆栈跟踪。
  • 我检查了WindowOrientationListener,但它不包含发生错误的内部类ScreenOrientationEventListenerImpl。三星手机可能使用自定义版本的代码,很可能部分原因是它有一个非AOSP功能,智能旋转
  • 我不认为我的代码是在做任何特定于用户的事情,它只是使用普通的Android。
  • 我在一个没有根的索尼Xperia和一个索尼Xperia上测试了这个应用程序,这在他们身上是很好的。
  • 我用三星远程测试实验室在4种不同的三星Galaxy S3s上测试了这个应用程序。
  • 我试图找到发生错误的源代码。我找到了文件,它一眼就表明它正试图将"intelligent_rotation_mode"设置为用户-0x2,这很有趣,因为我没有触及到三星特有的设置。我还下载了一个官方源代码的副本,但它似乎没有包含相关的文件。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-26 10:35:07

该应用程序使用了来自AOSP的com.android.internal.policy.impl.WindowOrientationListener的本地副本。但是,本地副本仍然使用原始包com.android.internal.policy.impl。结果发现,当应用程序试图使用这个类的本地副本时,它实际上使用的是相同的完全限定名称的原始系统版本。所以问题是这个应用程序不小心直接使用了手机内置的WindowOrientationListener

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27114764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档