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

第一、 新建监听类:BootReceiver继承BroadcastReceiver

package com.rongfzh.yc;

import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent;

public class BootReceiver extends BroadcastReceiver{           @Override      public void onReceive(Context context, Intent intent){         //接收安装广播         if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {               String packageName = intent.getDataString();               System.out.println("安装了:" +packageName + "包名的程序");             }           //接收卸载广播          if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {               String packageName = intent.getDataString();               System.out.println("卸载了:"  + packageName + "包名的程序");           }     } }

第二、 修改AndroidManifest.xml配置文件,添加广播介绍,添加监听的权限

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.rongfzh.yc"     android:versionCode="1"     android:versionName="1.0" >

<uses-sdk android:minSdkVersion="7" />

<application         android:icon="@drawable/ic_launcher"         android:label="@string/app_name" >         <activity             android:name=".PakDetectActivity"             android:label="@string/app_name" >             <intent-filter>                 <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>         <receiver android:name=".BootReceiver"                    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-permission android:name="android.permission.INTERNET" />      <uses-permission android:name="android.permission.RESTART_PACKAGES"/>      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

</manifest>

3、运行程序,卸载一个程序ApiDemos程序打印日志如下 System.out(1513): 卸载了:package:com.example.android.apis包名的程序 4、安装腾讯微博,打印日志如下: System.out(1513): 安装了:package:com.tencent.WBlog包名的程序 程序监听成功。

时间: 2024-10-29 19:10:42

Android监听应用程序安装和卸载的相关文章

android86 监听SD卡状态,勒索软件,监听应用的安装、卸载、更新,无序广播有序广播

* 添加权限 <uses-permission android:name="android.permission.RECEIVE_SMS"/> * 4.0以后广播接收者安装以后必须手动启动一次,否则不生效 * 4.0以后广播接收者如果被手动关闭,就不会再启动了 ------------------------------------------------------------------------ #监听SD卡状态 * 清单文件中定义广播接收者接收的类型,监听SD卡常

Andorid 如何监听app是否安装或卸载

在Android项目中有时会需要用到如何监听到app是否安装或卸载,来做出相应的操作.整个过程也挺简单的 1.写一个类继承BroadcastReceiver public class BootReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { <span style="font-family:微软雅黑;"> //安装广播监听

安卓监听apk的安装和卸载

1.创建广播类,继承BroadcastReceiver public class PackageBroadCastReceiver extends BroadcastReceiver { private static final int PACKAGE_NAME_START_INDEX = 8; @Override public void onReceive(Context context, Intent intent) { if (intent == null) { return; } if

Android 监听ListView、GridView滑动到底部

// 监听listview滚到最底部mIndexList.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { // 当不滚动时 case OnScrollListener.SCROLL_STATE_IDLE: // 判断滚动到底部 if (view.get

Android监听ScrollView滑动到顶端和底部

MainActivity如下: package cn.testscrollview; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ScrollView; import android.app.Activity; /** * Demo描述: * 监

Android 监听 Android中监听系统网络连接打开或者关闭的实现代码

本篇文章对Android中监听系统网络连接打开或者关闭的实现用实例进行了介绍.需要的朋友参考下 很简单,所以直接看代码 复制代码 代码如下: package xxx; import android.content.BroadcastReceiver;  import android.content.Context;  import android.content.Intent;  import android.net.ConnectivityManager;  import android.ne

android 监听网络状态的变化及实战

android 监听网络状态的变化及实际应用 转载请注明博客地址:http://blog.csdn.net/gdutxiaoxu/article/details/53008266 平时我们在请求错误的情况下,通常会进行处理一下,一般来说,主要分为两方面的错误 - 没有网络的错误 - 在有网络的情况下,我们客户端的错误或者服务器端的错误 今天这篇博客主要阐述以下问题 怎样监听网络状态的变化,包括是否打开WiFi,否打开数据网络,当前连接的网络是否可用 网络没有打开情况下的处理,如弹出对话框,跳转到

Android监听HOME键的最简单的方法

public static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码 setContentView(R.la

android 监听返回键

android监听返回键 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { return true; } return super.onKeyDown(keyCode, event); } event.getRepeatCount() == 0重复次数:1次