java—android手机上的“受保护应用”设置

x3naxklr  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(901)

我们可以要求用户使用(例如华为手机)保护我们的应用程序:

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
startActivity(intent);

有没有办法知道应用程序是否受到保护?我试图避免要求用户保护应用程序,例如每次创建应用程序时。
出于其他目的,我可以使用:

List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(
                    new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, Uri.parse("package:" + getPackageName()))
                    ,
                    PackageManager.MATCH_DEFAULT_ONLY);

System.out.println("MY_intent_TEST_1(looks always true): "+( list.size() > 0 ) );

PowerManager pwm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);

System.out.println("MY_intent_TEST_2(true when whitelisted): "+ pwm.isIgnoringBatteryOptimizations(context.getPackageName()) );

p、 我从华为手机上的“受保护的应用”设置中学习,以及如何处理它

7gs2gvoe

7gs2gvoe1#

因为相关的接口没有公开,目前你无法知道应用程序是否受到了保护。

相关问题