免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2854 | 回复: 0
打印 上一主题 下一主题

Android监听应用程序安装和卸载 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-26 12:45 |只看该作者 |倒序浏览
Android监听应用程序安装和卸载



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

Java代码:

  1. 01.public class BootReceiver extends BroadcastReceiver {   

  2. 02.  

  3. 03.    @Override  

  4. 04.    public void onReceive(Context context, Intent intent) {   

  5. 05.        //接收广播:系统启动完成后运行程序   

  6. 06.        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {   

  7. 07.             Intent newIntent = new Intent(context, WatchInstall.class);   

  8. 08.newIntent.setAction("android.intent.action.MAIN");             newIntent.addCategory("android.intent.category.LAUNCHER");            newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);            context.startActivity(newIntent);   

  9. 09.        }   

  10. 10.        //接收广播:设备上新安装了一个应用程序包后自动启动新安装应用程序。   

  11. 11.        if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {   

  12. 12.            String packageName = intent.getDataString().substring(8);   

  13. 13.            System.out.println("---------------" + packageName);   

  14. 14.            Intent newIntent = new Intent();   

  15. 15.           newIntent.setClassName(packageName,packageName+ .MainActivity");   

  16. 16.newIntent.setAction("android.intent.action.MAIN");             newIntent.addCategory("android.intent.category.LAUNCHER");             newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   

  17. 17.            context.startActivity(newIntent);   

  18. 18.        }   

  19. 19.        //接收广播:设备上删除了一个应用程序包。   

  20. 20.        if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {   

  21. 21.            System.out.println("********************************");   

  22. 22.            DatabaseHelper dbhelper = new DatabaseHelper();   

  23. 23.            dbhelper.executeSql("delete from users");   

  24. 24.        }   

  25. 25.    }  
复制代码
第二、 修改AndroidManifest.xml配置文件
Xml代码:

  1. 01.<?xml version="1.0" encoding="UTF-8"?>  

  2. 02.<manifest xmlns:android="http://schemas.android.com/apk/res/android"  

  3. 03.     package="org.me.watchinstall">  

  4. 04.    <application>  

  5. 05.        <receiver android:name=".BootReceiver"  

  6. 06.                  android:label="@string/app_name">  

  7. 07.            <intent-filter>  

  8. 08.                <action android:name="android.intent.action.BOOT_COMPLETED"/>  

  9. 09.                <category android:name="android.intent.category.LAUNCHER" />  

  10. 10.            </intent-filter>  

  11. 11.            <intent-filter>  

  12. 12.             <action android:name="android.intent.action.PACKAGE_ADDED" />  

  13. 13.             <action android:name="android.intent.action.PACKAGE_REMOVED" />  

  14. 14.              <data android:scheme="package" />  

  15. 15.<!-- 注意!! 这句必须要加,否则接收不到BroadCast -->  

  16. 16.            </intent-filter>  

  17. 17.        </receiver>  

  18. 18.        <activity android:name=".WatchInstall" android:label="WatchInstall">  

  19. 19.            <intent-filter>  

  20. 20.                <action android:name="android.intent.action.MAIN"/>  

  21. 21.                <category android:name="android.intent.category.LAUNCHER"/>  

  22. 22.            </intent-filter>  

  23. 23.        </activity>  

  24. 24.    </application>  

  25. 25.    <uses-permission android:name="android.permission.INTERNET" />  

  26. 26.    <uses-permission android:name="android.permission.RESTART_PACKAGES"/>  

  27. 27.    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>  

  28. 28.</manifest>  

复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP