如何杀掉本应用在堆栈中的所有activity,而不杀掉本应用的服务? 在A应用中的一个按钮,如何杀掉A应用所有的activity,而不杀掉本应用的服务? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ActivityManager类killBackgroundProcesses(包名)加个权限 KILL_BACKGROUND_PROCESSES killBackgroundProcesses(String package) 这个是杀后台进程的,与该应用有联系的 额= = 当前进程貌似可以用这个android.os.Process.killProcess(pid); 服务配置在xml中,好像退出程序并不会关闭的吧? 不建议自己程序杀进程,如果是要退出就用递归finish加system.exit(0),这样正常退出。不至于牵连到服务。 把你其它的activity都加入一个list中,在你主activity退出时再把list的activity一起finish掉 //首先查询出在运行的app 排除自身的app进程 结束其它的app进程 List<ActivityManager.RunningAppProcessInfo> runningList = manager.getRunningAppProcesses(); for(int i=0;i<runningList.size();i++){ ActivityManager.RunningAppProcessInfo info = runningList.get(i); String [] pkgList = info.pkgList; for (int j=0;j<pkgList.length;j++){ Log.d(Tag,"pkgList--"+j+"=="+pkgList[j]); if(pkgList[j].equals(activity.getPackageName())){ continue ; } //manager.killBackgroundProcesses(pkgList[j]); //2.2 才支持的方法 manager.restartPackage(pkgList[j]);//2.1 /2.2 都支持的方法 } } killBackgroundProcesses(String package) 用了,不管用呀,莫非是我的包名不正确吗?AndroidManifest.xml文件部分配置:package="com.innofidei.protector";<activity android:name=".activity.ProAppListActivity"/> 那肯定不正确 package 获得的是package="com.innofidei.protector";这个值 你加日志打印以下就知道了 新人求教:Eclipse里新建android app问题 android 推送如何实现 我的hello,world显示不出来, 怎么回事? handler怎么传数据? 问下关于二维码扫描的问题,求大神 javah 提示 android.app.Activity 找不到 expandableListView出现的错误 android.content.res.Resources$Not android消息机制和PC程序中消息机制有何异同? 有没有现成的数据可以调用的?求指导 android如何在onActivityResult中触发BUTTON事件?? TabActivity 传参数
加个权限 KILL_BACKGROUND_PROCESSES
当前进程貌似可以用这个android.os.Process.killProcess(pid);
List<ActivityManager.RunningAppProcessInfo> runningList = manager.getRunningAppProcesses();
for(int i=0;i<runningList.size();i++){
ActivityManager.RunningAppProcessInfo info = runningList.get(i);
String [] pkgList = info.pkgList;
for (int j=0;j<pkgList.length;j++){
Log.d(Tag,"pkgList--"+j+"=="+pkgList[j]);
if(pkgList[j].equals(activity.getPackageName())){
continue ;
}
//manager.killBackgroundProcesses(pkgList[j]); //2.2 才支持的方法
manager.restartPackage(pkgList[j]);//2.1 /2.2 都支持的方法
}
}
killBackgroundProcesses(String package) 用了,不管用呀,莫非是我的包名不正确吗?
AndroidManifest.xml文件部分配置:
package="com.innofidei.protector";
<activity android:name=".activity.ProAppListActivity"/>