源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android监听安装和卸载示例

  • 时间:2021-10-17 18:08 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android监听安装和卸载示例
BroadcastReceiver 是系统全局广播监听类, 其主要方法是onReceive(),自定义的广播类继承于它并实现自己的onReceive()处理逻辑 BroadcastReceiver 使用前,需要进行注册监听(xml和代码两种方式),不使用时需要注销监听,其生命周期一般为整个应用的生命周期 1, 自定义广播 自定义广播MyInstalledReceiver继承自BroadcastReceiver,实现其onReceive()方式,具体代码如下:
[u]复制代码[/u] 代码如下:
public class MyInstalledReceiver extends BroadcastReceiver {  @Override  public void onReceive(Context context, Intent intent) {   if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {  // install    String packageName = intent.getDataString();    Log.i("homer", "安装了 :" + packageName);   }   if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) { // uninstall    String packageName = intent.getDataString();    Log.i("homer", "卸载了 :" + packageName);   }  } }
2, 注册监听 1) xml 方式 在AndroidManifest.xml 配置文件的Application节点下,添加自定义的注册监听 MyInstalledReceiver
[u]复制代码[/u] 代码如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.homer.installed"     android:versionCode="1"     android:versionName="1.0" >     <application         android:icon="@drawable/ic_launcher"         android:label="@string/app_name" >         <activity             android:name=".MainActivity"             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=".MyInstalledReceiver" >             <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="3" /> </manifest>
在AndroidManifest.xml 添加的注册监听,其生命周期默认是整个应用的生命周期 2) 代码方式 一般在Activity的onStart()方法中注册监听,在onDestroy()方法中注销监听(也可以在onStop()方法中注销,其生命周期注销时结束)
[u]复制代码[/u] 代码如下:
 @Override  public void onStart(){   super.onStart();   installedReceiver = new MyInstalledReceiver();   IntentFilter filter = new IntentFilter();   filter.addAction("android.intent.action.PACKAGE_ADDED");   filter.addAction("android.intent.action.PACKAGE_REMOVED");   filter.addDataScheme("package");   this.registerReceiver(installedReceiver, filter);  }  @Override  public void onDestroy(){   if(installedReceiver != null) {    this.unregisterReceiver(installedReceiver);   }   super.onDestroy();  }
以上xml和代码两种注册方式,使用时选择其一即可; 如果同时使用两种方式,则两种方式都有效,即一次安装或卸载均统计了两次(重复统计) 3, 结果测试 [img]http://files.jb51.net/file_images/article/201402/20140228104259.jpg?2014128104435[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部