2012-07-27 59 views
0

我知道如何把任何應用程序放在前臺,但我現在將任何應用程序放在後臺。即,我想要的每個應用程序。 我在谷歌搜索了很多,但我還沒有找到解決方案。 你有什麼想法如何? 我試圖顯示主頁,但它不工作:把任何應用程序在Android中的背景

Intent i = new Intent(Intent.ACTION_MAIN); 
i.addCategory(Intent.CATEGORY_HOME); 
startActivity(i); 

非常感謝你提前。

這裏是我的所有代碼(它是一個測試代碼),我啓動地圖應用程序,我只是後想,在研究背景puting它:

List<ResolveInfo> pkgAppsList = retreivedAllApplicationsInstalled();  

    ActivityManager actMngr = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
    List<RunningAppProcessInfo> runningAppProcesses = actMngr.getRunningAppProcesses(); 
    for (RunningAppProcessInfo pi : runningAppProcesses) { 

     String[] testPklist = pi.pkgList; 

     if(pi.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND){ 
      for(String tp : testPklist){ 
       if(tp.equals("com.google.android.apps.maps")){ 

         //launch map application 
         Intent i = new Intent(Intent.ACTION_MAIN); 
         PackageManager manager = getPackageManager(); 
         i = manager.getLaunchIntentForPackage("com.google.android.apps.maps"); 
         i.addCategory(Intent.CATEGORY_LAUNCHER); 
         startActivity(i); 

       } 
      } 

     } 

    } 
    //try to put back all applications on displaying home 
    Intent back = new Intent(Intent.ACTION_MAIN); 
    back.addCategory(Intent.CATEGORY_HOME); 
    startActivity(back); 
+0

AFAIK ,這應該能夠提供主屏幕。當您執行上述代碼時,LogCat會顯示什麼? – CommonsWare 2012-07-27 00:28:20

+0

當我執行這部分代碼時,Logcat不會說話 – user1106464 2012-07-27 00:45:46

回答

1

如果你希望你的應用程序在後臺,你應該運行使用一種叫做Service的東西。您可以在鏈接中找到更多信息。但請記住,後臺處理會耗盡電池,請小心使用。

希望有所幫助。

+0

我不想執行後臺服務,因爲我想把它放在背景中而不是我的其他應用程序 – user1106464 2012-07-27 00:38:10

+0

如果我在服務中封裝啓動地圖活動的代碼部分(在此例如),如果我要求該服務在後臺,是否會工作? – user1106464 2012-07-27 00:52:04

+0

是的,一項服務可以讓你在後臺運行一項活動。 – 0gravity 2012-07-27 00:54:30

0

我想我明白在我的代碼的問題: 我跑活動「地圖」,其中執行,然後在下面我的代碼(把背景)從未推出.......