gpt4 book ai didi

android - 从内容 ://settings/system/ringtone? 获取资源 ID

转载 作者:搜寻专家 更新时间:2023-11-01 08:50:05 24 4
gpt4 key购买 nike

当我选择默认铃声时,我得到一个 Uri,路径为 content://settings/system/ringtone。因此没有以整数结尾的路径,如返回普通铃声(例如,content://media/internal/audio/media/38)。

我现在如何从这个默认铃声中获取资源 ID?任何解析都是不可能的,因为没有任何整数标识。

最佳答案

如果你检查设置数据库,你会发现保存到设置数据库的内容是媒体uri。这意味着 uri 下面实际上是媒体 uri 的映射。

来自:

content://settings/system/ringtone

收件人:

content://media/internal/audio/media/38

所以你需要写一个转换器来做:

   public Uri uriMap(Uri uri) {
Uri mediaUri = uri;
if(uri.getAuthority().equals(Settings.AUTHORITY)) {
Cursor c = null;
try {
c = getContentResolver().query(uri,new String[]{
Settings.NameValueTable.VALUE},null,null,null);
if(c != null && c.moveToFirst()) {
String val = c.getString(0);
mediaUri = Uri.parse(val);
}
} catch (Exception e) {
}finally {
c.close();
}
}
Log.e(TAG,"" + uri + "->" + mediaUri);
return mediaUri;
}

关于android - 从内容 ://settings/system/ringtone? 获取资源 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24332547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com