android开发 如何判断验证码安全保护是否关闭

目前在某为,小蓝小绿手机上存在验证码安全保护的功能,该功能开启时可能会导致应用自动读取验证码内容的失败,具体页面如下:

在这里插入图片描述

该页面无法通过Intent跳转,(某为是这样,小蓝小绿没试过估计也是),通过AndroidManifest.xml分析发现此Activity设置的permission,而此权限是signatureOrSystem级别,因此普通APP无法在AndroidManifest.xml声明。APP在开发的时候只能提醒用户手机关闭它。

那怎么判断它是否开启?这个开关其实在系统中对应的是一个属性,所以只需要判断改值是1或者0就行了。

首先注册Observer(在Service中注册),获取变化的uri:

    getContentResolver().registerContentObserver(Uri.parse("content://settings/system"), true, new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange, @Nullable Uri uri) {
            super.onChange(selfChange, uri);
            Log.d(TAG, "onChange: " + uri);
        }
    });

然后手动开启,关闭验证码安全保护开关,可以通过log发现:

在这里插入图片描述
可以发现verifition_sms_protect_enable这个值不停的变化,通过Settings.System.getInt直接获取,可以发现开启关闭开关时值也会在0和1之间转换。

小绿小蓝的值不同,但是结果也一样。

demo地址:https://download.csdn.net/download/weixin_45253393/13507749

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哒哒呵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值