繁体   English   中英

如何检查“验证应用程序”是否以编程方式启用或禁用

[英]How to check if "verify app" is enabled or disabled programmatically

如果谷歌的“验证应用程序”在应用程序启动时被禁用,我有一个安全要求提醒用户。 问题是我不知道有什么方法可以检查“验证应用程序”是否被禁用。

我尝试使用下面的代码,但它总是返回 1。

        int verifierInt = -1;
        if (Build.VERSION.SDK_INT >= 17) {
            verifierInt = Settings.Global.getInt(context.getContentResolver(), "package_verifier_enable", -1);
        } else if (Build.VERSION.SDK_INT >= 14) {
            verifierInt = Settings.Secure.getInt(context.getContentResolver(), "verifier_enable", -1);
        } else {
            // No package verification option before API Level 14
        }
        boolean isVerifyAppEnabled = verifierInt == 1;

此外,作为一项要求,如果此功能被禁用,则希望用户导航到“verifiy app”设置。

你应该这样检查:

Settings.Global.getInt(context.getContentResolver(), "verifier_verify_adb_installs", -1);

阅读首选项,将不再有帮助,因为 android 现在不更新首选项。 所以基本上阅读谷歌验证的偏好值是行不通的。

请使用下面的 SaftyNet 回调来验证谷歌保护。

SafetyNet.getClient(context)
                .isVerifyAppsEnabled()
                .addOnCompleteListener(new OnCompleteListener<SafetyNetApi.VerifyAppsUserResponse>() {
                    @Override
                    public void onComplete(@NonNull Task<SafetyNetApi.VerifyAppsUserResponse> task) {
---
}
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM