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();
}
- 是否可以直接打开 Google设置 -> Security -> Google Play Play Protect page。
- 如何启用或禁用了安全威胁选项的扫描设备?
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
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();
}