Android 获取外接储存的设备路径(如挂载的U盘)
Android 获取外接储存的设备路径(如挂载的U盘)
前提介绍:项目中遇到这样一种情况,需要在开机和插入U盘的时候去获取U盘的路径,并读取U盘中的一个文件。其中插入U盘的时候,直接监听U盘挂载广播,可以获取U盘的路径,例如说路径A。但是开机的时候去需要找到U盘的路径,网上看了很多的例子,都不一样,获取的结果和上面的结果A都不一致,最后发现通过Linux可以获取挂载路径。
插入U盘时获取U盘路径
开机时获取U盘路径
首先是静态注册一个关于开机和挂载U盘的广播:
BOOT_COMPLETED:开机完成,而MEDIA_MOUNTED、MEDIA_REMOVED、MEDIA_REMOVED、MEDIA_REMOVED则是来获取U盘挂载、拔出等事件。
然后在广播接收者中依次处理这些事件:如下
public class USBReceiver extends BroadcastReceiver{
private static final String TAG = USBReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals(Intent.ACTION_MEDIA_MOUNTED)){
String mountPath = intent.getData().getPath();