360 手机卫士 Android 版是如何做到在卸载完成后弹出一个网页的?
来源:互联网 发布:2017上海高考招生数据 编辑:程序博客网 时间:2024/04/29 10:06
转自:http://www.zhihu.com/question/20773194/answer/16136814
首先从Android弹出网页开始分析。
在Android开发中,通过系统默认浏览器弹出网页是通过如下的代码来实现的:
startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.baidu.com")));
那么也就是说,360手机卫士在卸载的过程中执行上述代码就可以达到所谓的弹出一个网页的效果。那么接下来的问题是它怎么知道自己被卸载了?
我们知道,在卸载应用的时候,Android系统会发送一个系统广播,但是卸载的是你自己你就没办法收到这个广播(或者说来不及收到广播,那时不管是进程还是线程都会被kill掉),Android系统也没有给开发者一个在应用被卸载的时候做一些事情的权利。但是,我们可以通过监视Android系统输出的log来判断“自己是否正在被卸载”。
这是目前就我个人所知最常用的办法。当你的应用(包括其他任何应用)被卸载时,Android系统的ActivityManager会打印出一行log,大概是:removing:你的包名。这个log是在应用卸载界面点击”确定“后的一瞬间输出的,这一瞬间虽然很短,但是足够正在被卸载的应用捕获到,当捕获的时候,调用上述代码就可以达到在卸载后弹出一个网页的效果了。
这只是个人的一种思路,具体如何捕获系统Log请自行查阅资料。
- 360 手机卫士 Android 版是如何做到在卸载完成后弹出一个网页的?
- Android项目实战--手机卫士22--卸载和分享功能的完成以及用户及系统应用的切换
- Android 如何监听自己是否被卸载及卸载后打开的浏览器进行反馈功能的实现 --- 仿360卫士
- 网页如何做到适应在手机上浏览
- 如何在WebBrowser打开的网页链接后直接在WebBrowser打开而不是新弹出一个IE窗口来打开
- Android核心基础(手机卫士的一个知识点总结)
- Android核心基础(手机卫士的一个知识点总结)
- Android核心基础(手机卫士的一个知识点总结)
- Android卸载监听之后访问后台或者弹出一个网页
- 向360手机卫士学习如何优化android程序性能
- Android项目实战--手机卫士03--完成app更新的逻辑和主界面
- Android项目实战--手机卫士09--防盗逻辑以及设置向导的完成
- 360手机卫士的建议
- android在下载app后自动安装,安装完成后不会弹出打开或完成界面
- 在IE8里面,弹出网页常常打开的是另外一个标签,怎么办?
- Android仿360手机卫士波浪球进度的实现
- WebUSB:一个网页是如何从你的手机中盗窃数据的
- 手机卫士学习03- 弹出对话框的一些细节
- 查询优化及分页算法方案
- 五险一金,你真的懂吗
- nopCommerce学习笔记
- Ubuntu Eclipse配置OpenGL
- eclipse/myeclipse高亮显示相同变量名 .
- 360 手机卫士 Android 版是如何做到在卸载完成后弹出一个网页的?
- javaweb_09-response实现请求重定向和response的一些细节
- 回文数
- 让咱哭笑不得的电脑小问题(持续更新)
- Ubuntu 10.10更新源列表
- API Hook基本原理和实现[图文]
- 一个简单的JS拼图游戏
- Eclipse不显示Android SDK Manager标签
- Photoshop按钮制作方法