编程语言
首页 > 编程语言> > Android – 从另一个应用程序中杀死应用程序(在root设备上)

Android – 从另一个应用程序中杀死应用程序(在root设备上)

作者:互联网

我有一个扎根的Android设备.有一次,我从我的主应用程序启动了一个辅助应用程序,如下所示:

Intent intent = getPackageManager().getLaunchIntentForPackage("com.app.package");
startActivityForResult(intent, 100);

我希望能够从主应用程序中删除此辅助应用程序.我正在尝试以下一般程序:

// At an earlier point in time...
Runtime.getRuntime().exec("su");
// The user grants permission

// ...

// At a later point in time...
Runtime.getRuntime().exec("su am force-stop com.app.package");

不幸的是,这并没有杀死应用程序,没有提示为什么来自logcat.

如果我尝试将kill命令作为“am force-stop com.app.package”而不是“su am force-stop com.app.package”运行,则logcat说我没有权限,即使我有超级用户早先运行“su”的许可.

解决方法:

找到了解决方案:

Process suProcess = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(suProcess.getOutputStream());

os.writeBytes("adb shell" + "\n");

os.flush();

os.writeBytes("am force-stop com.xxxxxx" + "\n");

os.flush();

标签:android,android-intent,root,kill,superuser
来源: https://codeday.me/bug/20190824/1704240.html