http://bbs.csdn.net/topics/370039121
static
int
getCardId(Context context) {
ContentResolver res = context.getContentResolver();
Cursor c = res.query(Uri.parse(
"content://media/external/fs_id"
),
null
,
null
,
null
,
null
);
int
id = -
1
;
if
(c !=
null
) {
c.moveToFirst();
id = c.getInt(
0
);
c.close();
}
return
id;
}
以上代码是com.android.music AP中的一部分。我想问下Uri.parse("content://media/external/fs_id")这个东西是是啥玩意?SDcard的序列号?还是别的什么东西?
content://media/external/fs_id
fs_id:唯一文件系统标识号,也就是定死的
个人理解是:此URL返回Sdcard上和fs_id对应的存储路径下所有媒体文件
content://media/external/fs_id此URL决定了ContentResolver 应该与哪一个ContentProvider对话即和此\packages\providers\MediaProvider\src\com\android\providers\media\MediaProvider.java对话
刚才又看了下代码,有这么一句话"// Only restore the saved playlist if the card is still the same one as when the playlist was saved",看来通过这个URI获取到的是标示外部存储设备的ID,当我们更换SD卡时,通过这个获取到的ID会改变。
Content://media/external/fs_id
media:媒体介质
external:外部的
fs_id:文件系统id
从字面意思看,这个应该就是查询你有几个外部磁盘吧,然后获取磁盘的id以供后继使用