`
JasonShieh
  • 浏览: 530165 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android监听应用程序安装和卸载

阅读更多

第一、 新建监听类:BootReceiver继承BroadcastReceiver
public class BootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        //接收广播:系统启动完成后运行程序
        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
             Intent newIntent = new Intent(context, WatchInstall.class);
newIntent.setAction("android.intent.action.MAIN");             newIntent.addCategory("android.intent.category.LAUNCHER");            newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);            context.startActivity(newIntent);
        }
        //接收广播:设备上新安装了一个应用程序包后自动启动新安装应用程序。
        if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
            String packageName = intent.getDataString().substring(8);
            System.out.println("---------------" + packageName);
            Intent newIntent = new Intent();
           newIntent.setClassName(packageName,packageName+ .MainActivity");
newIntent.setAction("android.intent.action.MAIN");             newIntent.addCategory("android.intent.category.LAUNCHER");             newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(newIntent);
        }
        //接收广播:设备上删除了一个应用程序包。
        if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
            System.out.println("********************************");
            DatabaseHelper dbhelper = new DatabaseHelper();
            dbhelper.executeSql("delete from users");
        }
    }


第二、 修改AndroidManifest.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="org.me.watchinstall">
    <application>
        <receiver android:name=".BootReceiver"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
             <action android:name="android.intent.action.PACKAGE_ADDED" />
             <action android:name="android.intent.action.PACKAGE_REMOVED" />
              <data android:scheme="package" />
<!-- 注意!! 这句必须要加,否则接收不到BroadCast -->
            </intent-filter>
        </receiver>
        <activity android:name=".WatchInstall" android:label="WatchInstall">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
    <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>
分享到:
评论
2 楼 JasonShieh 2013-03-20  
twlkyao 写道
如何获得程序卸载的状态呢?就是说判断现在程序有没有卸载完成?

接收到这个android.intent.action.PACKAGE_REMOVED广播就表示卸载完成
1 楼 twlkyao 2013-03-20  
如何获得程序卸载的状态呢?就是说判断现在程序有没有卸载完成?

相关推荐

    Android监听应用程序安装和卸载.docx

    在Android开发中,有时我们需要监控应用程序的安装和卸载事件,以便执行相应的操作,如更新数据库、发送通知或执行其他自定义逻辑。以下是如何在Android中实现这一功能的详细步骤: 首先,我们需要创建一个...

    Android 监听应用的安装和卸载

    在Android系统中,开发者可以通过创建自定义的BroadcastReceiver来监听应用程序的安装和卸载事件。BroadcastReceiver是Android四大组件之一,它能接收到系统或应用发送的广播消息,并执行相应的处理逻辑。以下将详细...

    Android 监听程序的安装和卸载

    应用开发中有需要监听到程序是否安装或者卸载成功,在android系统中,安装和卸载都会发送广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名...

    Android监听自己的程序被卸载

    "Android监听自己的程序被卸载"这个话题就是关于如何实现这一功能的技术实践。 通常,Android原生并不提供直接监听应用卸载的API,但可以通过一些间接的方式来实现。一种常见的方法是利用Android的JNI(Java Native...

    安卓Android源码——监听自身应用卸载.zip

    最后,要注意的是,由于Android的安全限制,系统默认不允许应用监听自己的卸载,除非用户在开发者选项中启用了"允许安装未知应用",否则这个功能可能无法正常工作。因此,这个实例更多地是为了教学目的,而非实际...

    android卸载应用程序

    android卸载已安装应用代码,提供点击打开应用功能,采用ListView显示所有已安装应用(剔除了原装应用)。 在此代码中可以学到,...调用系统卸载功能、打开已安装应用和如何判断已安装应用是否为预安装应用的方法!

    Android应用源码之程序的安装、卸载和更新.zip

    在Android操作系统中,应用的安装、卸载和更新是用户日常操作的重要部分。这份压缩包文件"Android 程序的安装、卸载和更新"很可能是包含了一系列关于这个主题的源码示例,用于帮助开发者更深入地理解这些过程的工作...

    Android卸载应用和安装应用的广播

    总结,通过创建和注册BroadcastReceiver,我们可以监听Android系统中应用的安装和卸载事件,进而执行相应的业务逻辑。这对于监控系统状态、数据分析或者提供用户体验的优化都是很有帮助的。不过,在实际开发中,需要...

    android监听安装和卸载示例

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

    Android源码之监听自身被卸载.zip

    本主题将深入探讨如何在Android源码层面实现监听应用被卸载的功能。这通常涉及到对Android系统的生命周期机制有深入理解,以及如何利用BroadcastReceiver来捕获系统发出的相关广播。 首先,我们要明白Android应用的...

    Android静默 安装卸载应用程序文档

    在Android系统中,静默安装和卸载应用程序是一种无需用户交互的方式,通常用于自动化测试、设备管理或系统级服务。这种方式涉及到对系统API的深度利用,因为某些接口是隐藏的,需要通过Android系统的源码来访问。...

    Android程序监听自身被卸载

    本篇将深入探讨如何在Android应用程序中实现监听自身被卸载的功能,并在卸载后执行特定的任务,如打开浏览器。 首先,我们需要了解Android系统的生命周期。Android应用程序由多个组件构成,如Activity、Service、...

    安卓安装卸载相关-监听自身被卸载.zip

    这个压缩包“安卓安装卸载相关-监听自身被卸载.zip”包含了关于如何在Android应用中实现自我监听卸载的源码和相关说明。下面将详细阐述这一主题。 首先,我们来了解一下Android应用的生命周期。在Android系统中,每...

    android监听手机app启动

    标题"android监听手机app启动"所指的就是这一功能,即在Android程序中捕获其他应用程序的启动事件。描述中提到,API 20之前和之后的方法有所不同,因为Android系统在不同版本中对权限和隐私保护进行了调整。 在API ...

    Android应用源码之监听自身被卸载.zip

    - 使用第三方库,如Google Play服务的InstallReferrerReceiver,它可以监听应用安装和卸载事件,但依赖于Google Play服务,对于非Google Play分发的应用可能不适用。 总的来说,监听Android应用被卸载的过程需要...

    安卓安装卸载相关-监听APP被卸载.rar

    在安卓系统中,安装和卸载应用程序是常见的操作。开发者有时需要监听这些事件,以便在APP被卸载时执行一些清理工作或者记录用户行为。"监听APP被卸载.rar"这个压缩包可能包含了一些示例代码或库,帮助开发者实现这一...

    Android应用源码安卓应用游戏卸载器项目.zip

    在Android平台上,开发一款应用或游戏卸载器项目是一个典型的系统工具类应用,它可以帮助用户方便地管理和卸载设备上的应用程序。在这个“Android应用源码安卓应用游戏卸载器项目”中,我们可以深入学习到以下几个...

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

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

Global site tag (gtag.js) - Google Analytics