Android应用程序白名单

如何在制造商prelist.xml中添加应用程序包。我已经看到很多应用程序,如slack,whatsapp,instagram,viber,hike,skype都已列入白名单。因此,我假设白名单中涉及某些流程。

我在etc / prelist.xml中检查了我的设备,下面是内容

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<prelist version="100" switch="on">
    <!-- action: 0 default;1 white list; 2 blacklist -->
    <!-- flag: {1<<12=4096: PKG_FLAG_BLACKLIST_COMPONENT; {1:enable;0:disable}}-->
<pkg package="com.facebook.orca" flag="4096" action="1"/>
    <pkg package="com.facebook.katana" flag="4096" action="1"/>
    <pkg package="com.twitter.android" flag="4096" action="1"/>
    <pkg package="com.instagram.android" flag="4096" action="1"/>
    <pkg package="jp.naver.line.android" flag="4096" action="1"/>
    <pkg package="com.whatsapp" flag="4096" action="1"/>
 <pkg package="com.skype.raider" flag="4096" action="1"/>
    <pkg package="com.microsoft.office.lync15" flag="4096" action="1"/>
    <pkg package="com.viber.voip" flag="4096" action="1"/>
    <pkg package="com.linecorp.linelite" flag="4096" action="1"/>
    <pkg package="com.bsb.hike" flag="4096" action="1"/>
    <pkg package="com.Slack" flag="4096" action="1"/>
   <pkg package="com.google.android.apps.messaging" flag="4096" action="1"/>
    <pkg package="com.google.android.apps.tachyon" flag="4096" action="1"/>
    <pkg package="com.yahoo.mobile.client.android.yahoo" flag="4096" action="1"/>
    <pkg package="com.google.android.gms" flag="4096" action="1"/>
    <pkg package="com.google.android.gsf" flag="4096" action="1"/>
    <pkg package="com.google.android.gsf.login" flag="4096" action="1"/>
    <pkg package="com.android.vending" flag="4096" action="1"/>
    <pkg package="com.google.android.googlequicksearchbox" flag="4096" action="1"/>
    <pkg package="com.vfuchongcontrol" flag="4096" action="1"/>
    <pkg package="com.qiyi.video" flag="4096" action="2"/>
</prelist>

甚至忽略电池优化的要求也没有将我的包装添加到此列表中:

<uses-permission  android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            Intent intent = new Intent();
            String packageName = getPackageName();
            PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
            if (!pm.isIgnoringBatteryOptimizations(packageName)) {
                intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
                intent.setData(Uri.parse("package:" + packageName));
                startActivity(intent);
            }
        }

那么我应该遵循什么程序来将我的包裹添加到此列表中?