如何强制关闭另一个应用

时间:2013-06-21 06:58:15

标签: java android

我需要强制关闭另一个应用程序而不自动重启它。

我尝试后续步骤,应用程序将关闭,但几秒后应用程序autorestart(我认为这是系统保护任何应用程序的craches):

// try 1
try
  {
    Method forceStopPackage;
    ActivityManager activityManager = ((ActivityManager)contextService.getSystemService( Context.ACTIVITY_SERVICE));
    forceStopPackage = activityManager.getClass().getDeclaredMethod( "forceStopPackage", String.class);
    forceStopPackage.setAccessible( true);
    forceStopPackage.invoke( activityManager, sApplicationPackageName);
  }
 catch( Exception e) {}


// try 2
Process           localProcessKill          = null;
DataOutputStream  localDataOutputStreamKill = null;
DataInputStream   localDataInputStreamKill  = null;
try
  {
    localProcessKill          = Runtime.getRuntime().exec( "su");
    localDataOutputStreamKill = new DataOutputStream( localProcessKill.getOutputStream());
    localDataInputStreamKill  = new DataInputStream(  localProcessKill.getInputStream());
    if( (localDataOutputStreamKill != null) && (localDataInputStreamKill != null))
      {
        localDataOutputStreamKill.writeBytes( "kill -9 " + processInfo.pid + "\n");
        localDataOutputStreamKill.flush();
        localDataOutputStreamKill.writeBytes( "exit\n");
        localDataOutputStreamKill.flush();
        // localProcessKill.waitFor();
      }
  }
 catch( Exception e) {}


// try 3
try
  {
    activityManager.killBackgroundProcesses( processInfo.processName);
  }
 catch( Exception e) {}


// try 4
try
  {
    android.os.Process.sendSignal( processInfo.pid, android.os.Process.SIGNAL_KILL);
  }
 catch( Exception e) {}

但杀死了应用程序自动重启。 请不要重新启动,请告诉我有关强制停止其他应用程序的任何想法。

1 个答案:

答案 0 :(得分:2)

由于您拥有root权限,因此您可以尝试使用adb命令停止应用:

adb shell am force-stop APP_PACKAGE