像@macafee和其他防病毒应用程序这样的应用程序如何在后台运行而不启用android中的autostart

像@macafee和其他防病毒应用程序这样的应用程序如何在后台运行而不启用android中的autostart,android,autostart,Android,Autostart,这些类型的应用程序如何在后台获得位置并执行其他操作,而无需xiomi等手机的自动启动许可。很少有流行的应用程序在后台运行时不会在内存清理周期中被杀死许多polular OEM定制堆栈ROM以优化电池/内存,因为他们被这些制造商列入白名单 对于您的应用程序,您可以通过设备的相应设置手动将其列入白名单,也可以通过将用户重定向到相应的设置页面以将应用程序列入白名单,从而实际地将其列入白名单。实际上,你可以像下面这样做: 在应用程序的清单文件中添加以下权限: <uses-permission an

这些类型的应用程序如何在后台获得位置并执行其他操作,而无需xiomi等手机的自动启动许可。

很少有流行的应用程序在后台运行时不会在内存清理周期中被杀死许多polular OEM定制堆栈ROM以优化电池/内存,因为他们被这些制造商列入白名单

对于您的应用程序,您可以通过设备的相应设置手动将其列入白名单,也可以通过将用户重定向到相应的设置页面以将应用程序列入白名单,从而实际地将其列入白名单。实际上,你可以像下面这样做:

在应用程序的清单文件中添加以下权限:

<uses-permission android:name="oppo.permission.OPPO_COMPONENT_SAFE"/>
<uses-permission android:name="com.huawei.permission.external_app_settings.USE_COMPONENT"/>
我已经测试了这个方法,它是有效的,但可靠性仍然是一个问题

但作为用户,我们可以通过以下方式阻止应用程序的后台服务:

按最近的应用程序物理键左侧按钮。 选择应用程序后,将其向下拖动,按住并向下滑动,您需要将其置于连续操作中。 应用程序将处于锁定状态,即使您通过清除清除后台应用程序进程,应用程序仍将继续运行。 同样,如果你想将其从锁定状态中移除,只需再次向下拖动一次,锁定符号就会消失,清除后台进程也会清除应用程序的运行。
实用地将用户重定向到AutoStart设置的参考:@slfan为什么在您编辑答案后,我看不到应用程序清单文件中“添加以下权限”下列出的权限?处理少数设备上的崩溃需要这些权限。
if (Build.BRAND.equalsIgnoreCase("xiaomi")) {
            Intent intent = new Intent();
            intent.setComponent(new ComponentName("com.miui.securitycenter",
                    "com.miui.permcenter.autostart.AutoStartManagementActivity"));
            startActivity(intent);
        } else if (Build.BRAND.equalsIgnoreCase("Honor")) {
            Intent intent = new Intent();
            intent.setComponent(new ComponentName("com.huawei.systemmanager",
                    "com.huawei.systemmanager.optimize.process.ProtectActivity"));
            startActivity(intent);
        } else if (Build.MANUFACTURER.equalsIgnoreCase("oppo")) {
            try {
                Intent intent = new Intent();
                intent.setClassName("com.coloros.safecenter",
                        "com.coloros.safecenter.permission.startup.StartupAppListActivity");
                startActivity(intent);
            } catch (Exception e) {
                try {
                    Intent intent = new Intent();
                    intent.setClassName("com.oppo.safe",
                            "com.oppo.safe.permission.startup.StartupAppListActivity");
                    startActivity(intent);
                } catch (Exception ex) {
                    try {
                        Intent intent = new Intent();
                        intent.setClassName("com.coloros.safecenter",
                                "com.coloros.safecenter.startupapp.StartupAppListActivity");
                        startActivity(intent);
                    } catch (Exception exx) {

                    }
                }
            }
        }
.... //Like for other OEMs [Check details for the devices here][1]