2017-10-09 7 views
-4

나는 다른 안드로이드 응용 프로그램을 닫을 수 있어야하는 응용 프로그램을 만들고 있습니다. 이 경우 Google지도를 사용하고 있습니다. 필자는 Android Manifest XML에서 killBackgroundProcesses에 대한 권한을 부여했지만 다음 코드는 "Google지도"응용 프로그램을 닫지 않습니다. 내 앱은 killApp()을 1 초마다 호출하여 Google지도가 닫히도록합니다. 내가 여기서 뭘 잘못하고 있는거야?killBackgroundProcesses가 작동하지 않습니다. 다른 제안 사항이 있습니까?

public void KillApp() 
    { 
     Context context = getContext(); 
     String maps = "com.google.android.apps.maps"; 
     ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); 
     activityManager.killBackgroundProcesses(maps); 
    } 

답변

1

자신 만의 앱을 죽일 수 있습니다 (예 : 동일한 프로세스 또는 동일한 사용자 ID로 실행중인 사용자 장치가 루팅되지 않은 한 다른 사람을 죽일 수 없습니다. 아무도 안드로이드 OS 자체를 제외하고 프로세스를 죽일 수 없습니다.

그들은 단지 과정을 다시 시작 응용 프로그램을 죽이지 않는 안드로이드 시장에서 태스크 킬러의 대부분

이 방법은 활동 즉시

라는 운영 체제에 의해 호출 될 때

public void restartPackage (String packageName) 

를 사용하여

savedInstance 죽이기를 원하는 활동의 상태를 저장하고 저장하십시오. 이제이 과정은

가 메모리에서 제거하고 OS는 다음에 사용자가이

가 살해 된 곳에서 또는 다른 말로 시작하는 활동을 다시 시작을 시작할 때 state.Now 저장. 어느 누구도 그렇게 할 수 없으므로

작업 관리자에서 프로세스를 죽이지 않는지 확인할 수 있습니다. 이 방법은 ICS에서

에서도 작동합니다.

위의 방법을 보려면 여기를 클릭하십시오. 내가 아는 한 killBackgroundProcesses (String packageName)은 API 8 이상입니다.