问题标签 [android-app-ops]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - AppOpsManager.noteOp:如何配置我的应用程序在特定操作时崩溃
在AppOpsManager.noteOp中,它说SecurityException
会被抛出
如果应用程序已配置为在此操作上崩溃
我找不到有关如何执行此操作的任何信息。应用程序开发人员可以在源代码中配置吗?
android - 尝试在 android 11 上获取网络功能时出现安全异常
我在尝试访问下面的代码时收到 SecurityException,然后是 RemoteException。API
val networkCapabilities = connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
异常获取
我已经对其进行了分析,当我深入研究 aosp 代码时,我得到了来自 AppOpsManager 类的 checkPackage 方法的流程,如附件截图所示,并且从我们知道的代码中,只要检查包条件不等于 MODE_ALLOWED 那么只有我们会得到安全例外。但我没有。想法什么时候该条件会失败。
如果有人对此有任何想法,请帮助我,谢谢
android - 有效使用 AppOpsManager.OnOpNotedCallback
我们正在使用新的AppOpsManager.OnOpNotedCallback
. 我们遇到的问题是一些外部库自己获取某些操作的上下文,这意味着我们没有得到任何attributionTag
指定。另一个问题是,对于onAsyncNoted
回调(这是我们实际上得到的全部),堆栈跟踪对于尝试解决关键区域访问的来源没有帮助。
这种堆栈跟踪的示例:
我们的onAsyncNoted
代码:
我们注意到的另一件事是,对于关键区域操作的自我注释,attributionTag 和 message 是空的,即使它们已设置并且调用返回AppOpsManager.MODE_ALLOWED
:
它产生了这个输出(至少在这里我们可以帮助我们自己使用stackTrace,但是依赖attributionTag 仍然会更好,因为我们已经设置了它):
归根结底,问题是,如何有效地使用AppOpsManager.OnOpNotedCallback
外部库来审核和区分允许和不允许的关键区域访问。目前,看起来它AppOpsManager.OnOpNotedCallback
并不能真正胜任大型复杂应用程序的任务。