/**
* Created by Administrator on 2017/4/27 0027.
* 开机启动广播
* 所需权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
*/
public class BootCloseReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("开机启动");
//开机后启动这个Activity
Intent intent1=new Intent(context,MainActivity.class);
//开机后没有任务栈存在,无法把Activity放在栈中,需要手动开启一个栈让该Activity生存下去,这样才可以开启
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
}
}
/**
* Created by Administrator on 2017/4/27 0027.
* 监听SD卡状态
* 在manifest中的receiver中必须有<data android:scheme="file"/>才能监听到
*/
public class SDreceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("SD备操作了");
String strAction=intent.getAction();
if ("android.intent.action.MEDIA_MOUNTED".equals(strAction)) {
System.out.println("SD卡被装上");
} else if ("android.intent.action.MEDIA_UNMOUNTED".equals(strAction)) {
System.out.println("SD卡被卸载下来了");
}
}
}
<receiver android:name="SDreceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED"></action>
<action android:name="android.intent.action.MEDIA_UNMOUNTED"></action>
<data android:scheme="file"/>
</intent-filter>
</receiver>
/**
* Created by Administrator on 2017/4/27 0027.
* 应用程序的安装与卸载
* 可以做竞品分析,分析用户的手机上的APP的种类,那种更重要
*/
public class APPlicationInstallAnduninstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action=intent.getAction();
Uri uri=intent.getData();
if ("android.intent.action.PACKAGE_ADDED".equals(action)) {
//应用安装
} else if ("android.intent.action.PACKAGE_INSTALL".equals(action)) {
//没有用到,保留字段
}else if ("android.intent.action.PACKAGE_REMOVED".equals(action)) {
//应用卸载
}
}
}
<receiver android:name="APPlicationInstallAnduninstallReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_INSTALL"/>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>