2013-07-11 5 views
2

다음 코드를 사용하여 실행중인 응용 프로그램을 종료하려고 시도했지만 작동하지 않습니다. 제안 사항을 알려주십시오. restartPackage()을 사용하면 KillingBackgroundProcess(), android.os.processes.killprocess(pid)은 작동하지 않습니다. 안드로이드 나 안드로이드 커널은 다른 응용 프로그램을 죽일 수있는 권한을 부여하지 않습니다.실행중인 응용 프로그램을 종료 할 수 없습니다.

Intent ints = new Intent(Intent.ACTION_MAIN, null); 
ints.addCategory(Intent.CATEGORY_LAUNCHER); 

checkedapp = name.get(position); 

Log.w("Checked app name", checkedapp); 

PackageManager pm = getApplicationContext().getPackageManager(); 

List<ResolveInfo> intentlist = pm.queryIntentActivities(ints, 
         PackageManager.PERMISSION_GRANTED); 

ActivityManager am1 = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 

List<RunningTaskInfo> processes = am1.getRunningTasks(Integer.MAX_VALUE); 

if (processes != null) 
{ 
    for (int i = 0; i < processes.size(); i++) 
    { 
    String packageName = processes.get(i).topActivity.getPackageName(); 

    Log.w("packagename", packageName); 
    RunningTaskInfo temp = processes.get(i); 

    try 
    { 
     pName = (String) pm.getApplicationLabel(pm.getApplicationInfo(packageName, 
             PackageManager.GET_META_DATA)); 
    } 
    catch (NameNotFoundException e) 
    { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    if (checkedapp.equals(pName)) 
    { 

     am1.killBackgroundProcesses(packageName); 

     //String pid = Integer.toString(temp.id); 

     int pid=temp.id; 

    android.os.Process.killProcess(pid);  

//Log.w("processid", pid); 

icons.remove(position); 
name.remove(position); 

} 

Is it really not possible to force stop any running application in android programmatically. 
Please help. 
+1

매니페스트 파일에 권한을 추가 했습니까? <사용 권한 android : name = "android.permission.RESTART_PACKAGES"/> <사용 권한 android : name = "android.permission.KILL_BACKGROUND_PROCESSES"/> –

+0

예. androidmanifest.xml에이 권한을 추가했습니다. –

+0

네가해야 할 일이 아니야. 일부 이전 버전의 Android에서는 기본적으로 디자인 버그 일 수 있습니다. –

답변

2

다른 응용 프로그램의 프로세스를 죽일 수 없습니다. ICS의 경우이 제한 사항이 의미합니다. 당신이 작성한 코드는 아직 시도하지 않은 이전 버전에서 작동 할 수 있습니다.

+0

2.3 진저 브레드에이 코드를 사용하고 있지만 여전히 작동하지 않습니다. –

관련 문제