2012-07-27 3 views
0

전 응용 프로그램을 포 그라운드하는 방법을 알고 있지만 이제는 모든 응용 프로그램을 백그라운드에 넣을 것입니다. 즉, 원하는 각 응용 프로그램. Google에서 많은 검색을했지만 해결책을 찾지 못했습니다. 어떻게 생각하세요? 나는 가정을 표시하기 위해 시도했지만 작동하지 않습니다 : 안드로이드에 백그라운드로 응용 프로그램을 넣으십시오.

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

미리 주셔서 대단히 감사합니다.

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

+0

Logcat이 코드 부분을 실행할 때 말하지 않는다 – user1106464

답변

1

당신이해야 백그라운드에서 실행되도록 응용 프로그램을 원하는 경우 : 여기

내 모든 코드 (자사의 테스트 코드), 내가지도 응용 프로그램을 실행하고 난 배경에서에서 퍼 팅, 단지 후 원하는이다 Service이라는 이름을 사용하십시오. 링크에 대한 자세한 정보를 찾을 수 있습니다. 그러나 백그라운드 프로세스 드레인 배터리는 기억해야하므로 조심해서 사용하십시오.

희망이 있습니다.

+0

배경 지식 서비스를 구현하고 싶지 않기 때문에 배경 서비스를 구현하고 싶지 않다. – user1106464

+0

서비스에서지도 활동을 시작하는 코드 부분을 캡슐화하면 예를 들어), 그리고 만약 내가 그 서비스에 대한 배경에있을 것을 부탁, 작동 것입니다 ??? – user1106464

+0

예, 서비스를 통해 백그라운드에서 활동을 수행 할 수 있습니다. – 0gravity

0

나는 내 코드에서 문제를 이해 생각 : 내가 실행 한 후 아래에있는 내 코드가 실행되지 않습니다 (배경에 넣어)가 활동 '지도', .......

관련 문제