Android下强制关闭其他程序

这几天一直在做一个Andorid应用,想实现任务管理器的效果,能够彻底关闭其他的程序,网上也看了很多资料,很多都是使用后restartPackage或者killBackgroundProcesses函数去进行,但是这一种并不能真正的将应用关闭.我的手机是root过的defy,尝试着使用其他的方法操作.

         ① kill -9  pid

            这个命令对于使用linux的都非常的熟悉,强制杀掉一个进程.获取要杀掉进程的pid,然后直接执行上述命令,但是测试后发现后,在手机中setting-app中,该应用依旧是运行状态,force close依旧可以点击,并没有达到效果.


       ②使用android自带命令(am force-stop)

            这个是查看adb帮助的时候发现的,原来adb的操作是相当的丰富的,不仅可以启动应用,发送广播,查看日志,还能对应用进行操作,比如强制关闭,十分的强大.根据这个,成功实现关闭其他应用的操作.  (adb介绍官方文档)

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. package cn.androiddevelop.flushapk.util;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.OutputStream;  
  5.   
  6. /** 
  7.  * 执行android命令 
  8.  *  
  9.  * @author Yuedong Li 
  10.  *  
  11.  */  
  12. public class SuUtil {  
  13.   
  14.     private static Process process;  
  15.   
  16.     /** 
  17.      * 结束进程,执行操作调用即可 
  18.      */  
  19.     public static void kill(String packageName) {  
  20.         initProcess();  
  21.         killProcess(packageName);  
  22.         close();  
  23.     }  
  24.   
  25.     /** 
  26.      * 初始化进程 
  27.      */  
  28.     private static void initProcess() {  
  29.         if (process == null)  
  30.             try {  
  31.                 process = Runtime.getRuntime().exec("su");  
  32.             } catch (IOException e) {  
  33.                 e.printStackTrace();  
  34.             }  
  35.     }  
  36.   
  37.     /** 
  38.      * 结束进程 
  39.      */  
  40.     private static void killProcess(String packageName) {  
  41.         OutputStream out = process.getOutputStream();  
  42.         String cmd = "am force-stop " + packageName + " \n";  
  43.         try {  
  44.             out.write(cmd.getBytes());  
  45.             out.flush();  
  46.         } catch (IOException e) {  
  47.             e.printStackTrace();  
  48.         }  
  49.     }  
  50.   
  51.     /** 
  52.      * 关闭输出流 
  53.      */  
  54.     private static void close() {  
  55.         if (process != null)  
  56.             try {  
  57.                 process.getOutputStream().close();  
  58.                 process = null;  
  59.             } catch (IOException e) {  
  60.                 e.printStackTrace();  
  61.             }  
  62.     }  
  63. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值