Android AppOpsService服务实践贴

本文探讨了Android系统服务AppOpsService的引入背景及其在权限管理中的作用。文章通过实例解释了为何在设置属性和数据库操作时会遇到相关错误,并介绍了如何通过AppOpsManager与AppOpsService交互。在解决问题的过程中,作者分享了针对不同Android API版本的解决方案,包括在API 23及以上版本的处理策略。
摘要由CSDN通过智能技术生成

版本信息:
Android 4.4.2


一、与AppOpsService因缘

自己整了个系统服务,然后在系统服务中通过Settings设置属性值、读写系统数据库:

private boolean setStaticIpInfo(int index, String value) {
	boolean ret = false;
	try {
		ret = System.putString(mContext.getContentResolver(), mSettingNames[index], value);
		return true;
	} catch (Exception e) {
		e.printStackTrace();
		ret = false;
	}

	return ret;
}

结果,老给报错误:
Package android does not belong to 10023
对应错误出处:
AppOpsManager.java (frameworks\base\core\java\android\app)
public void checkPackage(int uid, String packageName) {
    try {
        if (mService.checkPackage(uid, packageName) != MODE_ALLOWED) {
            throw new SecurityException(
                    "Package " 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值