步骤1、创建一个广播类

public class SdReceiver extends BroadcastReceiver {    private String TAG = "TfReceiver";    @Override    public void onReceive(Context context, Intent intent) {        String action = intent.getAction();        switch (action) {            //卡已经成功挂载            case "android.intent.action.MEDIA_MOUNTED":                String path = StoragePathUtil.getInstance().getPath(true);                Log.d(TAG, "onReceive: MEDIA_MOUNTED--" + path);                break;            //卡未挂载            case "android.intent.action.MEDIA_EJECT":            case "android.intent.action.MEDIA_REMOVED":            case "android.intent.action.ACTION_MEDIA_UNMOUNTED":            case "android.intent.action.ACTION_MEDIA_BAD_REMOVAL":                Log.d(TAG, "onReceive: 未挂载");                break;            //开始扫描            case "android.intent.action.MEDIA_SCANNER_STARTED":                Log.d(TAG, "onReceive: 开始扫描...");                break;            //扫描完成            case "android.intent.action.MEDIA_SCANNER_FINISHED":                Log.d(TAG, "onReceive: 扫描完成...");                break;            case "android.intent.action.MEDIA_SHARED":                Log.d(TAG, "onReceive: USB大容量存储被共享...");                break;        }    }}

步骤2、在AndroidManifest中注册静态监听(动态的也可以)

        <receiver android:name=".receiver.TfReceiver">            <intent-filter android:priority="1000">                <action android:name="android.intent.action.MEDIA_MOUNTED" />                <action android:name="android.intent.action.MEDIA_EJECT" />                  <action android:name="android.intent.action.MEDIA_REMOVED" />                <action android:name="android.intent.action.ACTION_MEDIA_UNMOUNTED" />                <action android:name="android.intent.action.ACTION_MEDIA_BAD_REMOVAL" />                <action android:name="android.intent.action.MEDIA_SCANNER_STARTED" />                <action android:name="android.intent.action.MEDIA_SCANNER_FINISHED" />                <action android:name="android.intent.action.MEDIA_SHARED" />                <data android:scheme="file"/>            intent-filter>        receiver>

插入是监听android.intent.action.MEDIA_MOUNTED
拔出是监听android.intent.action.MEDIA_EJECT

主要记录下要注册

<data android:scheme="file"/>

不加监听不到。。

更多相关文章

  1. Android 安装步骤
  2. Android中点击事件之KeyListener实现步骤
  3. Android 8.0 Tv 修改以太网ip地址 掩码 网关 DNS及DHCP和静态切
  4. Android移植到Asus P535步骤说明
  5. 安装Android SDK和ADT步骤和遇到的问题
  6. Android静态注册广播receiver检测WIFI连接状况变化
  7. android 检查网络连接状态实现步骤

随机推荐

  1. android常见问题汇总大全
  2. Android(安卓)WebView example
  3. android通过shape.xml制作渐变背景
  4. android中各种颜色在drawable.xml的值
  5. Android动态壁纸开发
  6. Android(安卓)开发笔记 - Android(安卓)S
  7. Android弹窗
  8. Android(安卓)SDK,API版本对照
  9. Android:简单联网获取网页代码
  10. 组件居中显示 安卓