如何检查"验证应用程序"以编程方式启用或禁用

时间:2017-02-09 09:03:32

标签: android security verify

如果谷歌"验证应用程序"我有安全要求提醒用户已在应用启动时停用。问题是,我不知道是否有任何方法可以检查"验证应用程序"是否被禁用。

我尝试使用下面的代码,但它总是返回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"如果禁用此功能,则设置。

2 个答案:

答案 0 :(得分:0)

您应该这样检查:

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

答案 1 :(得分:0)

读取Google验证的偏好设置值无效。 请使用以下SaftyNet回调来验证Google保护。

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