content://media/external/fs_id

本文深入分析了Android音乐应用中使用ContentResolver和Uri.parse方法查询SD卡标识符的实现细节,解释了content://media/external/fs_id这一特定URI的含义及其作用,揭示了其在不同SD卡更换情况下的行为变化。
AI助手已提取文章相关产品:

http://bbs.youkuaiyun.com/topics/370039121



static
 int getCardId(Context context) {
        ContentResolver res = context.getContentResolver();
        Cursor c = res.query(Uri.parse("content://media/external/fs_id"), nullnullnullnull);
        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以供后继使用



您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值