android设置--》应用程序详细信息--》强制停止
2013-07-14 10:49
477 查看
我的samsung9100每天早上电池都会耗尽。经常打开网易云阅读,墨迹天气之类的应用。怀疑是点击返回并没真正退出,就到设置--》应用管理--》正在运行查看。果然这些应用还在,选择停止后过会又会出现。正在运行界面右上面有个“显示缓存进程”标签,点击停止应用,过会程序还是会出现。于是到应用程序详细信息里点击强制停止,正在运行和显示缓存列表里再也未出现。即使重启机器,也不会出现。
到酷安市场下了些查杀进程的软件,比如Advanced TaskManager,Advanced Task Killer Pro,Zapper Task Killer等。结束进程后应用程序的“强制停止”按钮还是亮的,墨迹天气之类的软件根本杀不了,这些软件都干嘛的啊,还是我刷的CM系统有问题?
难道每天晚上睡觉前要到应用程序详细信息里面一个一个点击查看是否需要强制停止?为什么没有一个软件可以列出那些“强制停止”还是亮的应用列表,供用户选择哪些程序可以强制停止掉?
那就自己写个吧。
先看看这个“强制停止”里面做了什么。
usb连上手机,取出setting的apk文件:adb pull system/app/Settings.apk
解压apk,拿出dex,用dex2jar反编译,jdjui查看反编译源码。
找到InstalledAppDetails.java,有两个函数有用:
forceStopPackage调用了system隐藏的api函数((ActivityManager)getActivity().getSystemService("activity")).forceStopPackage(paramString);可惜这个函数作为第三方的应用程序不能用(打包时需要指定手机的签名)。
后来发现有个命令很有用,就是am。
am force-stop ***(应用程序包名)
当用户选择查杀某个应用时调用上面的命令有效,借鉴DroidWall的源码,让用户感觉不到上面命令的调用。
经过验证,“强制停止”以后,应用程序注册的BroadcastReceiver都将失效,包括BOOT_COMPLETED,RECEIVE_SMS等,开机自启,接收短信等都不再有用。
关于DeviceAdmin,网上介绍的很少,也很神秘,很多木马都是从这里开始的,后面再说吧。
到酷安市场下了些查杀进程的软件,比如Advanced TaskManager,Advanced Task Killer Pro,Zapper Task Killer等。结束进程后应用程序的“强制停止”按钮还是亮的,墨迹天气之类的软件根本杀不了,这些软件都干嘛的啊,还是我刷的CM系统有问题?
难道每天晚上睡觉前要到应用程序详细信息里面一个一个点击查看是否需要强制停止?为什么没有一个软件可以列出那些“强制停止”还是亮的应用列表,供用户选择哪些程序可以强制停止掉?
那就自己写个吧。
先看看这个“强制停止”里面做了什么。
usb连上手机,取出setting的apk文件:adb pull system/app/Settings.apk
解压apk,拿出dex,用dex2jar反编译,jdjui查看反编译源码。
找到InstalledAppDetails.java,有两个函数有用:
private void checkForceStop();//检查应用是否可以强制停止(其中里面有个判断packageHasActiveAdmins()后面再说)
private void forceStopPackage(String paramString);//强制停止应用
forceStopPackage调用了system隐藏的api函数((ActivityManager)getActivity().getSystemService("activity")).forceStopPackage(paramString);可惜这个函数作为第三方的应用程序不能用(打包时需要指定手机的签名)。
后来发现有个命令很有用,就是am。
am force-stop ***(应用程序包名)
当用户选择查杀某个应用时调用上面的命令有效,借鉴DroidWall的源码,让用户感觉不到上面命令的调用。
经过验证,“强制停止”以后,应用程序注册的BroadcastReceiver都将失效,包括BOOT_COMPLETED,RECEIVE_SMS等,开机自启,接收短信等都不再有用。
关于DeviceAdmin,网上介绍的很少,也很神秘,很多木马都是从这里开始的,后面再说吧。
相关文章推荐
- Android - 安装及卸载应用,启动应用程序,分享,详细信息,设备进程信息获取,获取进程占用RAM,清理进程
- 亲测完美解决:服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)
- eclipse android logcat 只显示自己应用程序信息的设置方法
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息
- 4、应用程序设置应用程序详细信息页面
- 当前自定义错误设置禁止远程查看应用程序错误的详细信息,这个问题怎么解决啊
- android中通过反射实现强制停止应用程序
- eclipse android logcat 只显示自己应用程序信息的设置方法
- eclipse android logcat 只显示自己应用程序信息的设置方法
- Android 之 PackageManager获取的应用程序信息与AndroidManifest文件中设置的信息不一致问题
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。
- Android通过反射实现强制停止应用程序的方法
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。
- [置顶] Android开发之将Edittext输入弹出的软键盘设置搜索确定键。详细代码,已验证可用。
- win7设置文件列表都为详细信息
- Android获取应用程序的版本信息
- Android应用程序中应用图标和名字的设置
- Android 应用程序异常信息捕获发送至服务器
- Android去掉标题,强制设置横屏或竖屏