Android API中有一个类名为StorageVolume的类,其中提供了获取存储卷信息的方法。可以通过查找所有存储卷并查询每个存储卷的状态来实现查找先前连接的USB闪存驱动器的功能。
以下是示例代码:
String[] projection = { MediaStore.Files.FileColumns._ID,
MediaStore.Files.FileColumns.DATE_ADDED };
String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
+ MediaStore.Files.FileColumns.MEDIA_TYPE_NONE;
String sortOrder = MediaStore.Files.FileColumns.DATE_ADDED + " DESC";
Cursor cursor = getContentResolver().query(
MediaStore.Files.getContentUri("external"), projection,
selection, null, sortOrder);
while(cursor != null && cursor.moveToNext()) {
long id = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns._ID));
Uri uri = Uri.withAppendedPath(MediaStore.Files.getContentUri("external"), "" + id);
String path = uri.toString();
Log.d("USB Drive", path);
}
if(cursor != null) {
cursor.close();
}
上面的代码查询了媒体存储中的文件,按照日期添加的顺序,遍历列表并将所有路径日志记录输出,用户可以查看这些路径来查找以前连接的USB闪存驱动器。
请注意,这里仅提供了一种方法来查找以前连接的设备,不是所有设备都可以被记录或查询到。