[英]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.