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

publicclass 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("********************************");

}

}

第二、修改AndroidManifest.xml配置文件

<?xmlversion="1.0" encoding="UTF-8"?>

<manifestxmlns:android="http://schemas.android.com/apk/res/android"

package="org.me.watchinstall">

<application>

<receiverandroid:name=".BootReceiver"

android:label="@string/app_name">

<intent-filter>

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

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

</intent-filter>

<intent-filter>

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

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

<data android:scheme="package" />

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

</intent-filter>

</receiver>

<activityandroid:name=".WatchInstall"android:label="WatchInstall">

<intent-filter>

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

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

</intent-filter>

</activity>

</application>

</manifest>

更多相关文章

  1. Android Studio安装以及解决连不上Android设备真机
  2. android 获取设备Id等信息
  3. Android 存储设备管理 -- IMountService (二)
  4. Android 6.0中在/dev下添加新设备驱动下Selinux相关设置
  5. Android 判断当前设备是手机还是平板的最有效的方法
  6. Python获取android设备cpu和内存占用情况
  7. Android - 获取设备信息的工具类( DeviceUtil)
  8. Android 蓝牙设备的查找与连接
  9. 【Android Developers Training】 42. 从另一台设备接收文件

随机推荐

  1. androidにはOpenGLを勉強する
  2. Android(安卓)Retrofit和Rxandroid的使用
  3. android之View的启动过程
  4. android 游戏 实战打飞机游戏 BOSS的设计
  5. Android(安卓)-- Property Animation
  6. Android之奔溃提示com.google.gson.inter
  7. Python-uiautomator使用说明文档
  8. Android加载webview 弹出错误
  9. tab使用 TabActivity TabHost Tabspec常
  10. LCD:LCD常用接口原理篇