`
wonka438
  • 浏览: 33685 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

拦截android应用卸载的问题

阅读更多

这两三天一直在研究拦截卸载的东西,目的很明显就是让应用后无法卸载!

 

目前我想到的主要实现方向有2个,

1.卸载前直接杀掉卸载进程

2.卸载后后台重新安装

 

详细分析其可行性:

1.卸载前直接杀掉卸载进程

 

看下图,在用户点击卸载按钮时,系统会在Logcat中打印一条信息” START {act=android.intent.action.DELETE dat=package:android.askforun cmp=com.android.packageinstaller/.UninstallerActivity} “,事件”android.intent.action.DELETE “,对象”package:android.askforun“(卸载应用的包)。



利用以上的信息,使activity开机启动并在后台运行一直监听Logcat,当出现上述关键词时立即kill掉系统卸载进程。

 

问题:

如何kill掉系统卸载进程?

 

原本我打算用killBackgroundProcesses("com.android.packageinstaller");在kill掉进程,但是这个方法并没有发挥作用,killBackgroundProcesses无法kill掉系统进程,而且在代码中结束其他进程也有十分多的限制!

具体可以看一下:http://www.cnblogs.com/crazypebble/archive/2011/04/08/2006213.html

 

第一个思路在结束卸载进程中卡死!

 

2.卸载后后台重新安装


在应用卸载完成的时候,系统的发送广播:android.intent.action.PACKAGE_REMOVED,设置BroadcastReceiver接收器,当接收到我们的应用被卸载时就调用一个activity重新安装应用。

 

问题:

如何安装?--静默安装/后台安装

 

1)

String str = "/xx.apk";
String fileName = Environment.getExternalStorageDirectory() + str;
Intent intent = new Intent(Intent.ACTION_VIEW);
 intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
startActivity(intent);

 认框使用类似的方法会弹出用户确认框,必须通过用户确认才能继续,这根本就无法满足需求!

 

2)在代码中使用pm命令安装应用--没有安装权限

 

3)使用隐藏的api安装--没有安装权限

 

上面两个方法,在运行的时候都出错,提示没有intallpackage的权限(即使你在AndroidManifest.xml中已经声明安装权限)。

 

网上唯一说实现静默安装的文章http://hi.baidu.com/6936995/blog/item/eca4436387a80d7b0d33fa31.html,真心看不明

还有一篇文章,实现静默安装的两种方法http://blog.csdn.net/sodino/article/details/6238818,按照博文所示要实现静默安装必须获取机子本身的签名,我认为用代码很难实现获取机子签名并对应用进行重新打包!

 

第二个思路在静默安装中卡死!

 

以上就是这几天我研究拦截卸载所遇到的问题,希望有人可以继续研究下去!

  • 大小: 14.7 KB
  • 大小: 7.1 KB
分享到:
评论

相关推荐

    Android应用开发实例:手机安全卫士源码

    - 软件管理:列出系统的所有软件,启动软件、卸载软件、系统的卸载失败(需要root权限这个后面也会介绍) - 进程管理:列出系统中正在运行的程序;演示杀死软件 - 窗口小部件:添加桌面; - 流量统计:模拟器并不...

    mobileweishi_sqllite_shouji_sleep14l_android_安全;android_

    基于Android的手机安全卫士可以让Android手机用户直观的看到手机中的所有应用软件,并且可以对这些应用软件进行卸载、运行和分享。一旦Android手机丢失,SIM卡变更,基于Android的手机安全卫士能够实现远程定位、...

    摩安手机卫士Android版本

    简洁的任务管理器帮助你释放内存,卸载应用程序。免设置全自动智能过滤垃圾短信,过滤率近98%;IP拨号能自动添加各类IP号码节省话费,同时有效防止电话被盗拨。来电拦截帮助用户避免电话骚扰。为保障您手机的稳定性...

    8天快速掌握Android教程源码

    04_开发与运行(卸载)第一个ANDROID应用.avi 所在项目:Hello 06_电话拔号器.avi 所在项目:phone 08_短信发送器.avi 所在项目:sms 09_深入了解各种布局技术.avi 所在项目:sms & FrameLayout 10_对应用进行单元...

    ProxyOn:Android Xposed模块可​​为特定应用程序应用代理

    ProxyOn-Xposed模块 ... 现在,您可以拦截来自所选应用程序的所有流量。 下载 从Xposed存储库获取它: : 如何卸载 adb uninstall ProxyOn_Xposed.apk 屏幕截图 执照 请参阅./LICENSE。 作者 ACPM

    传智播客Android视频教程-课程源码.rar

    4> 开发与运行(卸载)第一个ANDROID应用 5> 项目的目录结构 6> 项目清单文件分析 7> 分析第一个ANDROID应用的启动过程 8> 电话拔打 9> 查看手机模拟器往控制台输出的日志信息 10> 如何部署应用到真实手机 11> 短信...

    Instagram_SSL_Pinning:在Instagram Android应用中绕过SSL固定

    选择您的架构并按照说明进行操作替换/data/data/com.instagram.android/lib/ libliger.so文件 | 非根方法: 从设备上卸载Instagram应用下载并安装适合您的体系结构的修改的apk 〜 修改过的APK 版本手臂35.0.0.20.96 ...

    传智播客的android开发源代码

    04_开发与运行(卸载)第一个ANDROID应用.avi 所在项目:Hello 06_电话拔号器.avi 所在项目:phone 08_短信发送器.avi 所在项目:sms 09_深入了解各种布局技术.avi 所在项目:sms & FrameLayout 10_对应用进行单元...

    source.zip

    04_开发与运行(卸载)第一个ANDROID应用.avi 所在项目:Hello 06_电话拔号器.avi 所在项目:phone 08_短信发送器.avi 所在项目:sms 09_深入了解各种布局技术.avi 所在项目:sms & FrameLayout 10_对应用进行单元...

    安卓垃圾清理

    大师检测、一键优化; 进程管理、自启管理; 垃圾清理、残留清理; 广告检测、隐私检测 ...应用搬家、升级卸载; 应用整理、安装包清理; 大师工具箱、文件管理; 归属地查询、手电筒; 性能评测、硬件检测;

    Google Chrome浏览器下载

    • 强大扩展:Chrome浏览器支持各种web应用扩展,用户可以根据个人需要自由安装与卸载,比如广告拦截,网页翻译等功能。 • 跨平台支持: Chrome浏览器支持Windows、Mac、Android、iOS多个平台,PC端和移动端同步数据与...

    Android-MobileSafeGuard:为了您的设备安全

    Android-MobileSafeGuard 为了您的设备安全实施的: 1.发送消息以查找/报警/锁定/擦除丢失或被盗的设备。 2.设置黑号拦截电话。 3.移除不必要的后台进程,释放内存,让...卸载不需要的应用程序并清理缓存以节省空间。

    中国好铃声 2.9.12

    检索当前运行的应用程序▪ 更改您的音频设置▪ 装载和卸载文件系统▪ 拦截外拨电话▪ 读取联系人数据▪ 读取手机状态和身份▪ 开机时自动启动▪ 录音▪ 修改/删除 SD 卡中的内容▪ 显示系统级警报▪ 控制振动器▪ ...

Global site tag (gtag.js) - Google Analytics