android广播接收者实例
发布时间:2016-12-14 来源:查字典编辑
摘要:一、项目目录结构二、activity_main.xml和MainActivity.java没有增加任何代码三、SDCardReceiver....
一、项目目录结构
二、activity_main.xml和MainActivity.java没有增加任何代码
三、SDCardReceiver.java代码
package com.zgs.sdCardListener; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class SDCardReceiver extends BroadcastReceiver { //当sd卡被卸载或者被挂载上来的时候会执行 @Override public void onReceive(Context context, Intent intent) { //[1]获取到当前广播的事件类型 String action = intent.getAction(); //[2]对action做一个判断 if("android.intent.action.MEDIA_UNMOUNTED".equals(action)){ System.out.println("说明sd卡 卸载了"); }else if ("android.intent.action.MEDIA_MOUNTED".equals(action)) { System.out.println("说明sd卡挂载了"); } } }四、AndroidManifest.xml代码
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zgs.sdCardListener" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <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="com.itheima.sdcardstate.SdcardReceiver"> <intent-filter > <action android:name="android.intent.action.MEDIA_UNMOUNTED"/> <action android:name="android.intent.action.MEDIA_MOUNTED"/> <action android:name="android.intent.action."/> <!--想让上面的这2个事件生效,必须的加上这样的一个data,幸运的是需要加这个data的地方极少此处是一个--> <data android:scheme="file"/> </intent-filter> </receiver> </application> </manifest>