Android 使用OS 4.3'禁用权限时会发生什么情况;什么是新功能?

Android 使用OS 4.3'禁用权限时会发生什么情况;什么是新功能?,android,permissions,android-app-ops,Android,Permissions,Android App Ops,我听说OS4.3有一个隐藏功能,可以在不重新打包APK的情况下禁用某些权限。当我们发布应用程序时,我们会添加必要的权限并使应用程序正常工作。但该功能可以禁用权限。我知道一些应用程序一直在这样做,虽然这是一个黑客,我不需要关心。但有了OS4.3,用户可以轻松做到这一点 现在我的问题是,当权限被禁用时,相应的API是否抛出异常?(我想是的。)如果这是真的,我应该为一些操作添加try-catch,否则新手用户可能会认为我的应用程序设计糟糕 或者,我会添加一些代码来检查是否有权限让我的应用程序工作,如果

我听说OS4.3有一个隐藏功能,可以在不重新打包APK的情况下禁用某些权限。当我们发布应用程序时,我们会添加必要的权限并使应用程序正常工作。但该功能可以禁用权限。我知道一些应用程序一直在这样做,虽然这是一个黑客,我不需要关心。但有了OS4.3,用户可以轻松做到这一点

现在我的问题是,当权限被禁用时,相应的API是否抛出异常?(我想是的。)如果这是真的,我应该为一些操作添加try-catch,否则新手用户可能会认为我的应用程序设计糟糕

或者,我会添加一些代码来检查是否有权限让我的应用程序工作,如果没有,我会显示一些粗鲁、没有礼貌的消息来告诉你不要这样做,然后退出应用程序

(有人可能会在结束这个问题时说这不是一个真实的问题。)

我听说OS4.3有一个隐藏功能,可以在不重新打包APK的情况下禁用某些权限

其工作术语是“应用程序操作”,基于允许用户控制这些操作的活动的标题

现在我的问题是,当权限被禁用时,相应的API是否抛出异常

这将取决于被阻止的特定操作。例如,当被App Ops阻止时,尝试
open()
a
Camera
,将抛出
RuntimeException
。但是,当用户阻止应用内操作时,查询联系人只会返回空的结果集

我应该为一些操作添加try-catch,否则新手用户可能会认为我的应用程序设计糟糕

也许吧。这取决于你的应用程序所做的可以被阻止的事情以及阻止行为是什么

我会添加一些代码来检查我的应用程序是否有工作权限,如果没有,我会显示一些粗鲁的、没有礼貌的消息告诉你不要这样做,然后退出应用程序

应用程序操作不会撤消权限
PackageManager
checkPermissions()
仍会报告您持有该权限,即使应用程序操作阻止了与该权限相关的某些操作

目前,我知道没有直接的方法来确定你是否被应用程序操作阻止


我已经开始尝试收集这方面的信息,直到正式细节出现为止(如果有的话)。

谢谢您的回答。我们中的许多人都将受到这一新功能/应用的影响。我希望谷歌能尽快打开信息并引导我们做好准备。除了添加
使用功能
并在需要的地方设置
android:required=“false”
,我无法从android 4.3文档中看到如何克服这个问题。请注意,我刚刚开始尝试API 18(Android 4.3)。