这两三天一直在研究拦截卸载的东西,目的很明显就是让应用后无法卸载!
目前我想到的主要实现方向有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
分享到:
相关推荐
此外,开发者还应遵循Google的Best Practices,如在应用卸载或更新时清除缓存,以避免数据残留。 总之,Android应用缓存机制涉及多方面,合理的缓存策略能够显著提升应用性能,降低数据传输成本,同时需要注意内存...
黑名单电话拦截短信拦截黑名单短信拦截应用程序管理器 软件管理员卸载用户应用程序 UserApp卸载卸载系统应用(需要root) 系统应用卸载(需Root)流量统计 流量统计进程管理器(仅支持7.0以下版本)进程管理(仅支持安卓7.0...
在深入探讨Android应用权限之前,我们首先应当理解其核心概念:Android权限系统是基于权限声明和权限检查的机制,旨在确保应用程序的安全性和用户数据的隐私。Android应用在运行时需要请求特定权限才能访问设备的...
Android7.0 MTK方案 静默安装和卸载-附件资源
《深入剖析Android应用源码:手机卫士》 在当今移动设备盛行的时代,手机安全问题愈发引起人们的关注。"手机卫士"这类应用程序扮演着守护用户隐私和设备安全的重要角色。本文将基于“Android应用源码之手机卫士.zip...
本资源提供的"Android应用源码之Android中禁止某软件的安装"示例,旨在教授如何通过编程方式在Android设备上实现这一功能。以下是对这个主题的详细讲解: 1. **权限控制**: 在Android系统中,应用的安装和卸载是...
本项目是一款基于Android平台的手机管理软件——“Android手机管家”的源码,它集成了四个主要功能:文件管理、应用管理、电话拦截以及文件加解密。这些功能覆盖了日常手机使用中的常见需求,使得用户能够更便捷地...
【Android应用手机卫士】是基于Android平台的一款安全防护应用的源码,它展示了如何实现对用户设备进行安全管理和优化的各种功能。通过分析这个源码,我们可以深入理解Android应用程序的开发,尤其是涉及到安全特性...
本文将介绍三种方法来清除Android应用内置的广告,帮助用户获得更纯净的使用环境。 方法一:利用安全软件屏蔽广告 Android平台上,有许多安全软件提供广告拦截功能,例如LBE安全大师、360手机卫士、腾讯手机管家和...
- **Manifest**: AndroidManifest.xml是每个Android应用必备的配置文件,包含了应用的元数据,如Activity、Service、BroadcastReceiver等的注册信息。 6. **安全与风险** 尽管Hook技术提供了强大的功能,但它也...
- 软件管理:列出系统的所有软件,启动软件、卸载软件、系统的卸载失败(需要root权限这个后面也会介绍) - 进程管理:列出系统中正在运行的程序;演示杀死软件 - 窗口小部件:添加桌面; - 流量统计:模拟器并不...
综上所述,这篇文章通过分析Android恶意软件的特征和行为,并结合先进的技术手段,为Android应用的安全防护提供了一种全新的检测方案,这在当前智能手机安全防护领域中具有重要的意义和应用价值。
首先,Android系统允许用户自由安装和卸载应用程序,这是其开放性的一部分。然而,在一些场景下,例如企业设备管理、教育环境或者定制ROM中,我们可能需要限制特定的应用程序安装。这通常涉及到以下几个关键知识点:...
- **Activity**:作为Android应用的基本组件,Activity是用户界面的入口,负责处理用户交互。设置向导通常由一系列Activity构成,每个Activity对应向导的一步。 - **Intent**:Intent用于在不同的组件之间传递信息...
通过分析和研究这些源码,我们可以深入了解Android应用程序的开发流程、安全机制以及如何实现各种安全功能。 首先,源码中的核心部分可能包括一个病毒扫描引擎。这通常涉及到使用特征库匹配技术来检测潜在的恶意...
在Android应用开发中,路由框架扮演着至关重要的角色,它帮助开发者实现页面间的跳转、服务的调用以及数据的传递。"Android-Android最简单灵活的路由框架"标题所指的,很可能是chenenyu开发的一个轻量级且高度可定制...
总结起来,《Android项目实战——手机安全卫士开发案例解析》是一份全面的教程,它将引导开发者从零开始构建一个实用的Android应用,同时深化对Android系统及编程的理解,提升解决实际问题的能力。通过实践这个案例...
在Android应用开发过程中,权限管理是一项重要的技术内容,它不仅涉及到用户隐私保护,还关乎到应用功能的实现与扩展。本文将详细介绍Android中的多种权限及其应用场景,帮助开发者更好地理解和掌握这些权限。 ####...
在文件列表中,我们看到"METADATA-INF"这个目录,它是Android应用的签名和证书存储的地方。在Xposed卸载过程中,确保模块的签名信息被正确处理是至关重要的,因为这些信息直接影响到应用的安装和更新。"xposed-...