在android系统中,安装和卸载都会发送广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名。当卸载程序时系统发android.intent.action.PACKAGE_REMOVED广播。同样intent.getDataString()获得所卸载的包名。
应用程序无法监听自己的安装与卸载,但覆盖安装可以监听到自己的android.intent.action.PACKAGE_REMOVED广播。
|
public class PackageReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
String packageName = intent.getDataString();
Log.i("Test","---------------" + packageName);
}
if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
String packageName = intent.getDataString();
Log.i("Test","---------------" + "PACKAGE_REMOVED" + packageName);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test"
android:versionCode="1"
android:versionName="1.0">
<application
android:icon="@drawable/icon"
android:label="测试">
<receiver android:name=".PackageReceiver"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RESTART_PACKAGES"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
</manifest>
分享到:
相关推荐
### Android监听应用程序安装和卸载 在Android开发中,有时候我们需要让自己的应用能够感知到其他应用的安装或卸载情况,比如实现应用管理器、安全软件等场景时,就需要用到这种功能。本文将详细介绍如何在Android...
应用开发中有需要监听到程序是否安装或者卸载成功,在android系统中,安装和卸载都会发送广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名...
在Android系统中,开发者可以通过创建自定义的BroadcastReceiver来监听应用程序的安装和卸载事件。BroadcastReceiver是Android四大组件之一,它能接收到系统或应用发送的广播消息,并执行相应的处理逻辑。以下将详细...
"Android 监听自身卸载,弹出...实现 Android 监听自身卸载,弹出用户反馈调查的功能需要使用 JNI 和 C 语言,通过 fork() 函数创建一个子进程来监视父进程是否被卸载,并使用 am 命令来打开一个 url,卸载调查的网页。
在Android开发中,有时我们需要监控应用程序的安装和卸载事件,以便执行相应的操作,如更新数据库、发送通知或执行其他自定义逻辑。以下是如何在Android中实现这一功能的详细步骤: 首先,我们需要创建一个...
Android应用程序的安装和卸载事件,是由系统进行监听并全局广播的,支持1.5(android 3)以上,因此,如果想要监听获取应用的安装和卸载事件,只需要自定义一个BroadcastReceiver,来对系统广播进行监听和处理
这份压缩包文件"Android 程序的安装、卸载和更新"很可能是包含了一系列关于这个主题的源码示例,用于帮助开发者更深入地理解这些过程的工作机制。下面,我们将详细探讨这些关键知识点。 1. **安装过程**: - 当...
本篇将深入探讨如何在Android应用程序中实现监听自身被卸载的功能,并在卸载后执行特定的任务,如打开浏览器。 首先,我们需要了解Android系统的生命周期。Android应用程序由多个组件构成,如Activity、Service、...
在Android系统中,静默安装和卸载应用程序是一种无需用户交互的方式,通常用于自动化测试、设备管理或系统级服务。这种方式涉及到对系统API的深度利用,因为某些接口是隐藏的,需要通过Android系统的源码来访问。...
"Android监听自己的程序被卸载"这个话题就是关于如何实现这一功能的技术实践。 通常,Android原生并不提供直接监听应用卸载的API,但可以通过一些间接的方式来实现。一种常见的方法是利用Android的JNI(Java Native...
在Android开发中,监听APK的安装、替换和卸载事件是常见的需求,这有助于开发者了解用户对应用程序的动态操作。这些操作可以通过注册广播接收器(Broadcast Receiver)来实现,以便在特定事件发生时接收通知。以下是...
最后,要注意的是,由于Android的安全限制,系统默认不允许应用监听自己的卸载,除非用户在开发者选项中启用了"允许安装未知应用",否则这个功能可能无法正常工作。因此,这个实例更多地是为了教学目的,而非实际...
android卸载已安装应用代码,提供点击打开应用功能,采用ListView显示所有已安装应用(剔除了原装应用)。 在此代码中可以学到,...调用系统卸载功能、打开已安装应用和如何判断已安装应用是否为预安装应用的方法!
本主题将深入探讨如何在Android源码层面实现监听应用被卸载的功能。这通常涉及到对Android系统的生命周期机制有深入理解,以及如何利用BroadcastReceiver来捕获系统发出的相关广播。 首先,我们要明白Android应用的...
这个压缩包“安卓安装卸载相关-监听自身被卸载.zip”包含了关于如何在Android应用中实现自我监听卸载的源码和相关说明。下面将详细阐述这一主题。 首先,我们来了解一下Android应用的生命周期。在Android系统中,每...
在安卓系统中,安装和卸载应用程序是常见的操作。开发者有时需要监听这些事件,以便在APP被卸载时执行一些清理工作或者记录用户行为。"监听APP被卸载.rar"这个压缩包可能包含了一些示例代码或库,帮助开发者实现这一...
在Android开发中,有时开发者可能需要监听应用被用户卸载的情况,以便在程序卸载前执行某些清理工作或发送最后的数据。本示例"Android 监听自身被卸载Demo"将详细介绍如何实现这一功能。 Android系统并没有提供直接...
总结,通过创建和注册BroadcastReceiver,我们可以监听Android系统中应用的安装和卸载事件,进而执行相应的业务逻辑。这对于监控系统状态、数据分析或者提供用户体验的优化都是很有帮助的。不过,在实际开发中,需要...
在Android系统中,为了满足特定的安全需求,有时需要限制用户安装或卸载应用程序。这个需求可以通过自定义系统服务实现,特别是在Android 9.0(Pie)版本中。本篇文章将详细解析如何创建并使用接口来控制第三方APK的...