我想获取手机的铃声,但只能看到英语(非本地化版本)。
我的理论是使用ContextWrapper,并将该上下文语言环境设置为en_US
并将该新语言环境传递给RingtoneManager.getRingtone()
(基于Set Locale programmatically的代码):
ContextWrapper cw = new ContextWrapper(context);
Context cc = setContextLocale(cw, "en_US"); // This method was copied from the StackOverflow question above ^^
Ringtone defaultRingtone = RingtoneManager.getRingtone(cc, Settings.System.DEFAULT_RINGTONE_URI);
String sss = defaultRingtone.getTitle(cc);
因此,是的,这无法按预期进行。有什么想法吗?
答案 0 :(得分:0)
希望您可以通过以下代码段找到所需的内容:
data class Ringtone(
val _id: String,
val title: String
)
val cursor = RingtoneManager(this).cursor
cursor.moveToFirst()
val list = ArrayList<Ringtone>()
do {
list.add(Ringtone(
cursor.getString(0),
cursor.getString(1)
))
} while (cursor.moveToNext())
Log.i(TAG, "ringtones list=$list")