我希望在活动销毁后强制停止我的应用程序,我尝试使用
Process.KillProcess(Process.MyPid());
应用停止,但仍然可以在设置>应用
中强制再次停止它我也尝试通过此代码停止它
ActivityManager am = (ActivityManager)GetSystemService(Context.ActivityService);
am.KillBackgroundProcesses("TurkeyanaCall.TurkeyanaCall");
但我得到了
发生未处理的异常。
我想从我的应用程序中单击此按钮
答案 0 :(得分:1)
未处理的例外:
Java.Lang.SecurityException:权限拒绝:来自pid = 2440的killBackgroundProcesses(),uid = 10554需要android.permission.KILL_BACKGROUND_PROCESSES
正如document所说,KillBackgroundProcesses
:
让系统立即终止与给定包关联的所有后台进程。这与杀死那些进程以回收内存的内核相同;系统将根据需要在将来重新启动这些流程。
需要KILL_BACKGROUND_PROCESSES权限。
您应该添加权限:
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
然后你可以使用它:
ActivityManager am = (ActivityManager)GetSystemService(Context.ActivityService);
am.KillBackgroundProcesses(PackageName);
Android.OS.Process.KillProcess(Android.OS.Process.MyPid());
Java.Lang.JavaSystem.Exit(0);
答案 1 :(得分:0)
我还用它来杀死app中使用的所有进程。
首先我停止了所有服务,然后我完全从下面的代码解释这个地方的任何地方杀了应用程序。
try{
StopService(new Intent(this, typeof(CallService)));
StopService(new Intent(this, typeof(TwilioClientService)));
} catch(Exception ee){ }
ActivityManager am = (ActivityManager)GetSystemService(Context.ActivityService);
am.KillBackgroundProcesses("TurkeyanaCall.TurkeyanaCall");
Android.OS.Process.SendSignal(Android.OS.Process.MyPid(), Signal.Kill);