还是这个问题没搞定吗?
楼主,你的 那个帖子我给你说过了,就是调用ActivityManager的forceStopPackage()方法
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> infoList = am.getRunningAppProcesses();
int count = 0;
if (infoList != null) {
for (int i = 0; i < infoList.size(); ++i) {
RunningAppProcessInfo appProcessInfo = infoList.get(i);
Log.d(TAG, "process name : " + appProcessInfo.processName);
String[] pkgList = appProcessInfo.pkgList;
for (int j = 0; j < pkgList.length; ++j) {//pkgList 得到该进程下运行的包名
Log.d(TAG, "It will be killed, package name : " + pkgList[j]);
am.forceStopPackage(pkgList[j]);
count++;
}
}
} 在AndroidManifest.xml中新增权限:
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />如果你是在Windows下Eclipse开发的话,找不到forceStopPackage()接口就用反射来调用。我查过,以上就是‘设置’应用中“强制停止”所调用的方法,所以绝对可行。另外,可能还有一种方法Process.killProcess(int pid)
上面infoList有个pid的成员就是进程id
你把进程杀掉之后,服务肯定也挂了撒
楼主,你的 那个帖子我给你说过了,就是调用ActivityManager的forceStopPackage()方法
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> infoList = am.getRunningAppProcesses();
int count = 0;
if (infoList != null) {
for (int i = 0; i < infoList.size(); ++i) {
RunningAppProcessInfo appProcessInfo = infoList.get(i);
Log.d(TAG, "process name : " + appProcessInfo.processName);
String[] pkgList = appProcessInfo.pkgList;
for (int j = 0; j < pkgList.length; ++j) {//pkgList 得到该进程下运行的包名
Log.d(TAG, "It will be killed, package name : " + pkgList[j]);
am.forceStopPackage(pkgList[j]);
count++;
}
}
} 在AndroidManifest.xml中新增权限:
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />如果你是在Windows下Eclipse开发的话,找不到forceStopPackage()接口就用反射来调用。我查过,以上就是‘设置’应用中“强制停止”所调用的方法,所以绝对可行。另外,可能还有一种方法Process.killProcess(int pid)
上面infoList有个pid的成员就是进程id
你把进程杀掉之后,服务肯定也挂了撒
解决方案 »
- 移动矩形碰撞检测
- [较深入问题,请大虾回答]Binder机制如何传递对象引用?
- android,如何把gif格式的图片保存到SD卡中
- 4.0系统 adb push 替换根目录文件
- 关于对android通讯录有关操作
- gridview的item怎么都有部分重叠的,有高人能指点如何让其不重叠吗?
- android studio中 sdk manager无法更新的解决办法(新方法,不改host)
- 实现Wifi的热点切换,根据指定的ssid自动连接到自己想要的wifi.
- 如何获得系统休眠的消息
- 急!!!!在android平台上我要通过C++实现将一个文件夹打包成一个压缩文件,请教有什么方法?谢谢
- 求教 自定义控件的数据如何传给父activity
- 如何让内存变化发生变化时立即有效?
if ("xx.xx.xx".equals(appProcessInfo.processName)) {
String[] pkgList = appProcessInfo.pkgList;
for (int j = 0; j < pkgList.length; ++j) {//pkgList 得到该进程下运行的包名
Log.d(TAG, "It will be killed, package name : " + pkgList[j]);
am.forceStopPackage(pkgList[j]);
count++;
}
}
forceStopPackage 需要系统的uid吧
forceStopPackage 需要系统的uid吧
如果是fork的话,一般都会有守护进程的,这样的app是杀不死的