두 가지 프로세스가있는 앱이 있습니다. 두 번째 프로세스는 활동이 생성 될 때 시작됩니다. 매니페스트에서 그 활동의 발췌를 보자 :Android 앱 백그라운드 프로세스를 중지하는 방법은 무엇입니까?
<activity
android:name=".ActivityInAnotherProcess"
android:process=":anotherprocess"
android:launchMode="singleTask"
...
을 한 후 "anotherprocess"나는 그러나, 코드, 아시아 개발 은행을 통해, 어떻게 든 주요 프로세스를 종료 할 필요가 시작됩니다.
DDMS에서 "응용 프로그램 종료"를 시도했지만 주 프로세스가 종료되었지만 몇 초 후에 다시 작성되었습니다.
나는이 코드를 시도했다 :
String packageName = c.getPackageName();
ActivityManager activityManager = (ActivityManager) c.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.killBackgroundProcesses(packageName);
을하지만 주요 과정은 단 몇 초 후에 다시 만들어야 살해된다.
업데이트 : 위 코드는 작동합니다. 나는 다른 프로세스에서 Activity를 시작한 후 몇 초를 기다리고 있었지만, 주 프로세스를 죽이기 전에 다른 프로세스가 완전히 시작되지 않은 것처럼 보입니다. 이제 다른 프로세스에서 주요 프로세스를 종료합니다. 이 지금 작동합니다. 모두에게 감사드립니다!
시도해 보셨습니까? android.os.Process.killProcess (android.os.Process.myPid()); – Alan
@dalmendray 왜 백그라운드 프로세스를 죽이고 싶습니까? –
@Charuka 안드로이드가 그것을 할 때 시뮬레이션을위한 주 프로세스를 죽일 필요가있다. 메인 프로세스가 죽었다는 사실을 기반으로 테스트해야하는 코드 내 프로세스 간 통신이 있습니다 (안드로이드가 더 많은 리소스를 필요로 할 수 있기 때문에) – dalmendray