如何打开并检查启用保护是启用还是禁用


    minSdkVersion 18
    targetSdkVersion 27

使用以下代码,我能够打开 Google设置 page。

private static final String GOOGLE_SETTINGS_COMPONENT = "com.google.android.gms";
private static final String GOOGLE_SETTINGS_ACTIVITY = ".app.settings.GoogleSettingsActivity";
Intent i = new Intent();
i.setClassName(GOOGLE_SETTINGS_COMPONENT,GOOGLE_SETTINGS_COMPONENT + GOOGLE_SETTINGS_ACTIVITY);
try {
      startActivity(i);
} catch (android.content.ActivityNotFoundException ex) {
      Toast.makeText(getApplicationContext(), "Activity Not Found", Toast.LENGTH_LONG).show();
 }
  1. 是否可以直接打开 Google设置 -> Security -> Google Play Play Protect page。
  2. 如何启用或禁用了安全威胁选项的扫描设备?

1)是否可以直接打开Google设置 ->安全性 -> Google Play保护页面?

您可以使用com.google.android.gms.security.settings.VerifyAppsSettingsActivity意图直接启动Play Prote Protect屏幕。

val intent = Intent()
intent.setComponent(ComponentName("com.google.android.gms", "com.google.android.gms.security.settings.VerifyAppsSettingsActivity"))
startActivity(intent)

这是Playstore APK的元数据,您可以看到那里的所有可用活动。

2)如何检查安全威胁选项的扫描设备是否为 启用或禁用?

开发人员可以通过安全网验证应用程序API获得对用户设备上安装的应用程序景观的类似安全见解。这套新的API套件使开发人员可以确定用户的设备是否受到Google Play Protect的保护,鼓励用户尚未使用Google Play Protect启用它,并确定设备上安装的任何已知的潜在有害应用程序(PHA)。p>这些API对于可能会受到与其应用程序同一设备上安装的PHA有关的应用程序的开发人员特别有用。确定通过isVerifyAppsEnabled()启用Google Play保护,可以使开发人员额外保证设备更可能是干净的。如果设备没有启用Google Play Protect,则开发人员可以要求用户使用enableVerifyApps()启用Google Play保护。使用Google Play Protect启用了Google Play Protect,开发人员可以使用listHarmfulApps()方法来确定用户设备上是否安装了任何潜在有害应用程序。这套易于使用的功能套件不需要API键和要求配额。

编译com.google.android.gms:play-services-safetynet:11.6.0并使用以下代码。

确定是否启用了应用程序验证

SafetyNet.getClient(this)
    .isVerifyAppsEnabled()
    .addOnCompleteListener(new OnCompleteListener<VerifyAppsUserResponse>() {
        @Override
        public void onComplete(Task<VerifyAppsUserResponse> task) {
            if (task.isSuccessful()) {
                VerifyAppsUserResponse result = task.getResult();
                if (result.isVerifyAppsEnabled()) {
                    Log.d("MY_APP_TAG", "The Verify Apps feature is enabled.");
                } else {
                    Log.d("MY_APP_TAG", "The Verify Apps feature is disabled.");
                }
            } else {
                Log.e("MY_APP_TAG", "A general error occurred.");
            }
        }
    });

请求启用应用程序验证

SafetyNet.getClient(this)
    .enableVerifyApps()
    .addOnCompleteListener(new OnCompleteListener<VerifyAppsUserResponse>() {
        @Override
        public void onComplete(Task<VerifyAppsUserResponse> task) {
            if (task.isSuccessful()) {
                VerifyAppsUserResponse result = task.getResult();
                if (result.isVerifyAppsEnabled()) {
                    Log.d("MY_APP_TAG", "The user gave consent " +
                          "to enable the Verify Apps feature.");
                } else {
                    Log.d("MY_APP_TAG", "The user didn't give consent " +
                          "to enable the Verify Apps feature.");
                }
            } else {
                Log.e("MY_APP_TAG", "A general error occurred.");
            }
        }
    });

为了获得更好的保护,开发人员应将证明API与新的验证应用程序一起使用。首先使用认证API来确定该设备尚未从已知状态进行修改。一旦可以信任Android系统,就可以信任验证应用程序的结果。

P.S。使用API

阅读额外的TOS先验

in Java

  Intent i = new Intent();
i.setClassName("com.google.android.gms", "com.google.android.gms.security.settings.VerifyAppsSettingsActivity" );
try {
    startActivity(i);
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(getApplicationContext(), "Activity Not Found", Toast.LENGTH_LONG).show();
}

相关内容

  • 没有找到相关文章

最新更新