簡體   English   中英

如何以編程方式在xiaomi中啟用應用程序的自動啟動

[英]How to enable auto start for an app in xiaomi programmatically

我想知道xiaomi是否可以提供任何應用程序的后台服務? 我的應用程序中的服務需要一直在后台運行,在所有設備中它的工作正常除了小米,它如何以編程方式完成?

適用於xiaomi,oppo,vivo和oneplus手機。

    try {
        Intent intent = new Intent();
        String manufacturer = android.os.Build.MANUFACTURER;
        if ("xiaomi".equalsIgnoreCase(manufacturer)) {
            intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
        } else if ("oppo".equalsIgnoreCase(manufacturer)) {
            intent.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity"));
        } else if ("vivo".equalsIgnoreCase(manufacturer)) {
            intent.setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity"));
        } else if("oneplus".equalsIgnoreCase(manufacturer)) { 
            intent.setComponent(new ComponentName("com.oneplus.security", "com.oneplus.security.chainlaunch.view.ChainLaunchAppListAct‌​ivity")); }

        List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
        if  (list.size() > 0) {
            context.startActivity(intent);
        } 
    } catch (Exception e) {
        Crashlytics.logException(e);
    }

你不能從代碼那里做到這一點,除非有來自xiaomi的api,你可以訪問該功能。 我猜自動啟動管理器是一個應用程序(具有系統應用程序的權限,因為xiaomi修改了os的一部分),因此不可能。 另一方面,如果設備已植根,您實際上可以禁用自動啟動管理器。

仍然是whatsapp,facebook以及更多這樣做的應用程序可能是因為他們與小米在白名單中有聯系。 但它只是一個猜測。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM