2016-03-16 19 views
7

Ben herhangi bir uygulama için arka plan servisi Xiaomi tarafından sağlanabilir olmadığını bilmek istiyorum Xiaomi bir uygulama aradığınızda otomatik çalıştırmayı etkinleştirmek için? Ben, arka planda her zaman çalışıyor olması gerekir Uygulamamda hizmeti onun Xiaomi dışında gayet çalışan tüm cihazlarda, programlı nasıl yapılabilir?Nasıl programlı

cevap

4

yapmanız mümkün olmayacaktır olduğu koddan kadar ve bu işlevlerine erişmenizi sağlar Xiaomi bazı API olmadıkça. Otomatik başlatma yöneticisinin bir uygulama olduğunu tahmin ediyorum (xiaomi modifiye os'un bir parçası olduğu için bir sistem uygulamasının imtiyazlarıyla), bu yüzden mümkün değil. Diğer taraftan, cihaz köklü ise otomatik başlatma yöneticisini devre dışı bırakabilirsiniz.

Yine de whatsapp, facebook ve bunun gibi birçok uygulama, beyaz listeye dahil olmak için Xiaomi ile bağlantı kurmaları nedeniyle olabilir. Ama sadece bir tahmin. vivo Xiaomi, oppo için ve aynı zamanda telefonlar OnePlus

6

eserler.

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); 
    } 
+1

bir artı için nedir? –

+0

@JanaBabu bunu kullanın ("oneplus" .equalsIgnoreCase (üretici)) { intent.setComponent (yeni ComponentName ("com.oneplus.security", "com.oneplus.security.chainlaunch.view.ChainLaunchAppListActivity")); } –