2014-12-05 89 views
0

我需要在後臺運行一段android應用程序(例如5秒),然後在前臺運行一段時間(再說5秒)。該應用程序應該在前景&背景之間切換。由於我是Android新手,我發現了一個解決方案,可以創建一個IntentService以使其在後臺運行,然後在前臺運行,一些幫助文檔說我應該使用Activity來使它前面。在前臺和後臺運行一個應用程序(時間共享)

+0

爲什麼你需要在後臺運行它,然後在前臺運行它?您是否需要爲特定原因訪問主線程? – 2014-12-05 03:23:21

+0

是的,目前正在處理一個會根據輸入觸發各種動作的應用程序,截至目前輸入源是thro'Galileo板。應用程序shld在後臺運行,並且在接收到值時,它會根據收到的值觸發操作(如打開相機,鎖定手機,解鎖手機,拍攝等)。 – 2014-12-05 04:10:34

回答

0

我寫了一個服務,將繼續接收來自其他設備的值,並根據值觸發動作(如打開凸輪,鎖定,設置亮度等)。爲了觸發我使用意圖的行爲。您可以通過發送軟件包名稱來調用以下函數來打開安裝在手機中的任何應用程序(要從軟件倉庫中安裝「軟件包名稱查看器」)。

public void triggerAction(String packageName) { 
    Intent i = null; 

    PackageManager manager = getPackageManager(); 
    try { 
     i = manager.getLaunchIntentForPackage(packageName); 

     if (i == null) 
      throw new PackageManager.NameNotFoundException(); 
     i.addCategory(Intent.CATEGORY_LAUNCHER); 
     startActivity(i); 
    } catch (PackageManager.NameNotFoundException e) { 
     Toast.makeText(getApplicationContext(), "FAILED", 
       Toast.LENGTH_SHORT).show(); 
    } 
}