`
wonka438
  • 浏览: 34363 次
  • 性别: 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应用缓存机制

    此外,开发者还应遵循Google的Best Practices,如在应用卸载或更新时清除缓存,以避免数据残留。 总之,Android应用缓存机制涉及多方面,合理的缓存策略能够显著提升应用性能,降低数据传输成本,同时需要注意内存...

    android应用权限详情

    在深入探讨Android应用权限之前,我们首先应当理解其核心概念:Android权限系统是基于权限声明和权限检查的机制,旨在确保应用程序的安全性和用户数据的隐私。Android应用在运行时需要请求特定权限才能访问设备的...

    Android7.0 MTK方案 静默安装和卸载-附件资源

    Android7.0 MTK方案 静默安装和卸载-附件资源

    Android应用源码之手机卫士.zip

    《深入剖析Android应用源码:手机卫士》 在当今移动设备盛行的时代,手机安全问题愈发引起人们的关注。"手机卫士"这类应用程序扮演着守护用户隐私和设备安全的重要角色。本文将基于“Android应用源码之手机卫士.zip...

    Android应用源码之Android中禁止某软件的安装.rar

    本资源提供的"Android应用源码之Android中禁止某软件的安装"示例,旨在教授如何通过编程方式在Android设备上实现这一功能。以下是对这个主题的详细讲解: 1. **权限控制**: 在Android系统中,应用的安装和卸载是...

    Android手机管家源码

    本项目是一款基于Android平台的手机管理软件——“Android手机管家”的源码,它集成了四个主要功能:文件管理、应用管理、电话拦截以及文件加解密。这些功能覆盖了日常手机使用中的常见需求,使得用户能够更便捷地...

    Android应用手机卫士_安卓源码.zip

    【Android应用手机卫士】是基于Android平台的一款安全防护应用的源码,它展示了如何实现对用户设备进行安全管理和优化的各种功能。通过分析这个源码,我们可以深入理解Android应用程序的开发,尤其是涉及到安全特性...

    清除Android应用内置广告的三种方法.doc

    本文将介绍三种方法来清除Android应用内置的广告,帮助用户获得更纯净的使用环境。 方法一:利用安全软件屏蔽广告 Android平台上,有许多安全软件提供广告拦截功能,例如LBE安全大师、360手机卫士、腾讯手机管家和...

    Hook技术activity启动过程中拦截

    - **Manifest**: AndroidManifest.xml是每个Android应用必备的配置文件,包含了应用的元数据,如Activity、Service、BroadcastReceiver等的注册信息。 6. **安全与风险** 尽管Hook技术提供了强大的功能,但它也...

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

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

    基于动静态结合分析的Android恶意应用多重检测模型.pdf

    综上所述,这篇文章通过分析Android恶意软件的特征和行为,并结合先进的技术手段,为Android应用的安全防护提供了一种全新的检测方案,这在当前智能手机安全防护领域中具有重要的意义和应用价值。

    Android高级应用源码-Android中禁止某软件的安装.zip

    首先,Android系统允许用户自由安装和卸载应用程序,这是其开放性的一部分。然而,在一些场景下,例如企业设备管理、教育环境或者定制ROM中,我们可能需要限制特定的应用程序安装。这通常涉及到以下几个关键知识点:...

    Android项目实战--手机卫士07--设置向导

    - **Activity**:作为Android应用的基本组件,Activity是用户界面的入口,负责处理用户交互。设置向导通常由一系列Activity构成,每个Activity对应向导的一步。 - **Intent**:Intent用于在不同的组件之间传递信息...

    手机卫士android源码

    通过分析和研究这些源码,我们可以深入了解Android应用程序的开发流程、安全机制以及如何实现各种安全功能。 首先,源码中的核心部分可能包括一个病毒扫描引擎。这通常涉及到使用特征库匹配技术来检测潜在的恶意...

    Android-Android最简单灵活的路由框架

    在Android应用开发中,路由框架扮演着至关重要的角色,它帮助开发者实现页面间的跳转、服务的调用以及数据的传递。"Android-Android最简单灵活的路由框架"标题所指的,很可能是chenenyu开发的一个轻量级且高度可定制...

    Android项目实战——手机安全卫士开发案例解析word版

    总结起来,《Android项目实战——手机安全卫士开发案例解析》是一份全面的教程,它将引导开发者从零开始构建一个实用的Android应用,同时深化对Android系统及编程的理解,提升解决实际问题的能力。通过实践这个案例...

    android 权限大全

    在Android应用开发过程中,权限管理是一项重要的技术内容,它不仅涉及到用户隐私保护,还关乎到应用功能的实现与扩展。本文将详细介绍Android中的多种权限及其应用场景,帮助开发者更好地理解和掌握这些权限。 ####...

    xposed-uninstaller

    在文件列表中,我们看到"METADATA-INF"这个目录,它是Android应用的签名和证书存储的地方。在Xposed卸载过程中,确保模块的签名信息被正确处理是至关重要的,因为这些信息直接影响到应用的安装和更新。"xposed-...

    xposed-uninstall-20180108-arm64.zip

    例如,它可以用于修改系统界面、增强通知管理、控制应用权限,甚至实现一些高级功能,如拦截系统调用等。 然而,Xposed框架的安装需要Root权限,并且不兼容所有设备或所有Android版本。对于MIUI这样的深度定制系统...

Global site tag (gtag.js) - Google Analytics