千锋教育-做有情怀、有良心、有品质的IT职业教育机构

您现在的位置:首页 >> 学习资料 >> Android监听程序的安装和卸载

Android监听程序的安装和卸载

时间:2011-04-11 10:37:11 来源:DevDiv移动开发社区 作者:Vincent

在android系统中,安装和卸载都会发送广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名。当卸载程序时系统发android.intent.action.PACKAGE_REMOVED广播。同样intent.getDataString()获得所卸载的包名。

应用程序无法监听自己的安装与卸载,但覆盖安装可以监听到自己的android.intent.action.PACKAGE_REMOVED广播。

  1. public class PackageReceiver extends BroadcastReceiver{
     
  2. @Override
     
  3.     public void onReceive(Context context, Intent intent) {        
     
  4.         if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
     
  5.             String packageName = intent.getDataString();
     
  6.             Log.i("Test","---------------" + packageName);
     
  7.         }
     
  8.         
     
  9.         if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
     
  10.          String packageName = intent.getDataString();
     
  11.           Log.i("Test","---------------" + "PACKAGE_REMOVED" + packageName);
     
  12.         }
     
  13. }
     
  14. }
  1. <?xml version="1.0" encoding="utf-8"?>
     
  2. <manifest
     
  3.    xmlns:android="http://schemas.android.com/apk/res/android"
     
  4.     package="com.test"
     
  5.     android:versionCode="1"
     
  6.     android:versionName="1.0">
     
  7.     <application
     
  8.      android:icon="@drawable/icon"
     
  9.      android:label="测试">
     
  10.         <receiver android:name=".PackageReceiver"
     
  11.                   android:label="@string/app_name">
     
  12.             <intent-filter>
     
  13.               <action android:name="android.intent.action.PACKAGE_ADDED" />
     
  14.               <action android:name="android.intent.action.PACKAGE_REMOVED" />
     
  15.                <data android:scheme="package" />
     
  16.             </intent-filter>
     
  17.         </receiver>
     
  18.     </application>
     
  19.     <uses-sdk android:minSdkVersion="7" />
     
  20.    <uses-permission android:name="android.permission.INTERNET" />
     
  21.     <uses-permission android:name="android.permission.RESTART_PACKAGES"/>
     
  22.     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
     
  23. </manifest>

课程咨询

免费咨询热线
400-811-9990
  • 北京天丰利校区(总部):北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术学院广场服务楼2层、南区服务楼2层
    咨询电话:400-186-9990 010-82790226-801
    面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
  • 深圳科技园校区:深圳市南山区科苑南路高新技术产业园R3-B栋5层
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    深圳西部硅谷校区:深圳市宝安区宝安大道5010号西部硅谷B座A605-619
    咨询电话:0755-86681178/9-801
    面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
  • 上海学院地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-65025129-602
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员
  • 郑州学院地址:郑州市金水区纬五路21号河南教育学院综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55911950 400-186-9990
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 广州学院地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-186-9990
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 大连学院地址:大连市甘井子区软件园路2号B8座二楼
    咨询电话:0411-39026086 400-186-9990
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 武汉学院地址:武汉市东新区光谷大道77号金融港B26栋9楼
    咨询电话:027-59905902 027-59905908 027-59905909
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 成都旅游学院校区:成都市一环路西二段17号四川旅游学院青羊校区内
    成都华立校区:成都一环路西二段17号华立大厦3楼
    咨询电话:028-83178771 028-61967740
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 西安南二环校区:西安市二环南路西段60号永安大厦4层
    西安科技园校区:西安市雁塔区高新六路52号立人科技园C座西区4层
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 杭州学院地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术学院南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 了解千锋动态
    关注千锋教育服务号

  • 扫码关注千锋互联
    身边的移动开发导师

关闭