Android 监听外部U盘插入事件

1、在AndroidManifest.xml 加入读取外部存储器权限

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

 

2、注册动态广播

public static void register(Context context){
        IntentFilter filter = null;
        filter = new IntentFilter();
        filter.addAction(Intent.ACTION_MEDIA_MOUNTED);   //接收U盘挂载广播
        filter.addAction(Intent.ACTION_MEDIA_REMOVED);   //接收U盘卸载广播
        filter.addDataScheme("file");
        context.registerReceiver(mSdcardReceiver, filter,"android.permission.READ_EXTERNAL_STORAGE",null);

    }

    static BroadcastReceiver mSdcardReceiver = new BroadcastReceiver(){

        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            if(intent.getAction().equals(Intent.ACTION_MEDIA_MOUNTED)){
                Toast.makeText(context, "path:"+intent.getData().getPath(), Toast.LENGTH_SHORT).show();
            }else if(intent.getAction().equals(Intent.ACTION_MEDIA_REMOVED)){
                Log.i("ants", "remove ACTION_MEDIA_REMOVED");
            }
        }

    };

 

posted on 2021-09-29 16:52  Ants_hu  阅读(1272)  评论(0编辑  收藏  举报

导航