2015-04-27 69 views
1

我有一個應該在後臺運行的服務。從給定鏈路如何重新啓動後臺服務在redmi手機上死亡

我已經應用解決方案

START_STICKY does not work on Android KitKat

我能夠重新啓動在具有Android操作系統果凍豆或奇巧的所有手機服務。

但在紅mi(android操作系統版本4.3)手機我的服務仍然被殺死時,我從任務管理器中刪除應用程序,不再重新啓動。我如何在紅色mi電話上重新啓動我的服務。

我嘗試通過報警管理器重新啓動服務。

私人無效StartLocationServiceByAlarmManager(){

Calendar cur_cal = Calendar.getInstance(); 
    cur_cal.setTimeInMillis(System.currentTimeMillis()); 
    cur_cal.add(Calendar.SECOND, 50); 
    long backgroundServiceUpdateInterval = 0; 


     Interval = 3 * 60 * 1000; // xyz 

    // stopService(new Intent(this,cl)); 
    // Background sync service 
    Intent mServiceIntent = new Intent(this, cl); 
    mServiceIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); 
    PendingIntent pintent = PendingIntent.getService(this, 121, 
      mServiceIntent, PendingIntent.FLAG_UPDATE_CURRENT); 

    AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 

    alarm.setRepeating(AlarmManager.RTC_WAKEUP, cur_cal.getTimeInMillis(), 
      Interval, pintent); 
} 
+2

當然是。這一過程中的一切都被殺死了。你引用的方法*可能會導致它很快自動重新啓動,但它仍然會被終止。 Android根本不支持第三方組件永久運行的方式。 –

+0

@ChrisStratton,我正在尋找一種解決方案,以便在紅色mi電話上死亡時重新啓動服務。我可以在所有其他電話上重新啓動服務。 –

+0

那麼你試過哪種解決方案?向你展示代碼並準確解釋它做了什麼或沒有完成。 –

回答

0

注:適用於任務管理器應用程序殺手ONLY

  1. 設置MIUM安全問題。

對於MIUM 7.0 安全=>自動啓動=>選擇應用程序要在後臺服務運行=>重啓

對於MIUM 4.0 settings

  • MainActivity.class(開始服務

    public class MainActivity extends AppCompatActivity { 
    
        @Override 
        protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        Intent intent = new Intent(this, Your_IntentServices.class); 
    
        startService(intent); 
        } 
    } 
    

    呦ur_IntentServices.class(你可以擴展IntentService

    public class Your_IntentServices extends Service { 
    
        @Override 
        public IBinder onBind(Intent intent) { 
         return null; 
        } 
    

    Menifest(附加服務

    <manifest> 
        <application> 
        <service 
         android:name=".Your_IntentServices" 
         android:exported="false"/> 
        </application> 
    </manifest> 
    
  • More MIUM Discussion/Other solution

    相關問題