Android学习笔记:抓取U盘实际路径

  1. 创建接收器
public class USBReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

StorageManager mStorageManager = (StorageManager) context.getSystemService(Activity.STORAGE_SERVICE);
String action = intent.getAction();
Log.d(TAG, "receive broadcast\n"+action);
if(action.equals(Intent.ACTION_MEDIA_MOUNTED)) {
   String path = intent.getData().getPath();
    //path = getCorrectPath(path);//获取正确的,完整的路径
    Log.d(TAG, "THE PATH IS:\n"+path);
}

}
}

2. 定义变量

USBReceiver usbBroadcast;

3. 在onCreate 下面注册广播

usbBroadcast = new USBReceiver();
IntentFilter usbFilter= new IntentFilter();
usbFilter.addAction(Intent.ACTION_MEDIA_MOUNTED);
usbFilter.addAction(Intent.ACTION_MEDIA_REMOVED);
usbFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
usbFilter.addDataScheme("file");
registerReceiver(usbBroadcast,usbFilter);

4. 程序退出前需要注销广播

参考链接:

https://blog.csdn.net/LJX_ahut/article/details/89672880

https://www.jianshu.com/p/42982aa8184

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

*

code

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据