`
xun005
  • 浏览: 39670 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

广播之Android监听程序的安装和卸载

 
阅读更多

在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.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名...

    android监听安装和卸载示例

    Android应用程序的安装和卸载事件,是由系统进行监听并全局广播的,支持1.5(android 3)以上,因此,如果想要监听获取应用的安装和卸载事件,只需要自定义一个BroadcastReceiver,来对系统广播进行监听和处理

    Android 监听apk安装替换卸载广播的实现代码

    首先是要获取应用的安装状态,通过广播的形式以下是和应用程序相关的Broadcast ActionACTION_PACKAGE_ADDED 一个新应用包已经安装在设备上,数据包括包名(最新安装的包程序不能接收到这个广播)ACTION_PACKAGE_...

    Android App监听自身卸载反馈统计

    作者venshine,源码AppUninstall,方案监听系统卸载广播:只能监听到其他应用的卸载广播,无法监听到自己是否被卸载。读取系统 log:第三方软件卸载无法得知。静默安装另一个程序,监听自己是否被卸载:需要 root ...

    Android代码-AppUninstall

    静默安装另一个程序,监听自己是否被卸载:需要root权限。 Java线程轮询,监听/data/data/{package-name}目录是否存在:卸载app,进程退出,线程也被销毁。 C进程轮询,监听/data/data/{package-name}目录是否存在:...

    Android禁止某些软件的安装

    在开发中经常会自动安装一些软件到手机上,很烦人,就自己写了个程序就监听某个软件的安装广播,并将其卸载掉

    Android开发资料合集-World版!

    9.13、调用ANDROID INSTALLER 安装和卸载程序 215 9.14、后台监控应用程序包的安装&卸载 216 9.15、显示应用详细列表 224 9.16、寻找应用 224 9.17、注册一个BROADCASTRECEIVER 225 9.18、打开另一程序 225 9.19、...

    Android 开发技巧

    9.13、调用ANDROID INSTALLER 安装和卸载程序 215 9.14、后台监控应用程序包的安装&卸载 216 9.15、显示应用详细列表 224 9.16、寻找应用 224 9.17、注册一个BROADCASTRECEIVER 225 9.18、打开另一程序 225 9.19、...

    Android闹铃服务AlarmManager用法深入分析

    并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事件发生,AlarmManagerServie服务程序就会遍历闹铃列 表找到相应的注册闹铃并发出广播。该服务程序在系统启动时被系统服务程序system_service启动并初始化闹铃设备...

    adb1.0.26包含fastboot.exe

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。 基本用法 命令语法 ...

    绿色守护 greenify v 2.5.2 Beta1

    『绿色守护』帮助你甄别那些对系统全局性能和耗电量有不良影响的应用程序,并通过独特的『绿色化』技术,阻止它们消耗您的电池电量,占用您的宝贵内存。经过『绿色化』工艺处理的应用,在您没有主动启动它们的时候,...

Global site tag (gtag.js) - Google Analytics