1

是否可以从手机中获取所有铃声并将其显示到 android 中的微调器中?是否可以通过内容提供商?

4

2 回答 2

3

如果您只需要让用户从系统中选择铃声的能力:

另一个答案需要大量代码和工作才能开始。RingtoneManager.ACTION_RINGTONE_PICKER相反,使用意图更容易。这将启动一个带有微调器的对话框,其中包含所有铃声并要求用户选择一个。示例代码:

public static final int REQUESTCODE_PICKRINGTONE = 1;

public void launchPickRingtoneIntent() {
    Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone");
    startActivityForResult(intent, REQUESTCODE_PICKRINGTONE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUESTCODE_PICKRINGTONE && resultCode == RESULT_OK) {
        Uri uri = data
                  .getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);

        if (uri != null) {
            // uri contains the URI of the selected ringtone
        } else {
            // user picked "silent" as the ringtone
        }
    }
}

可以使用一些选项自定义此意图,例如您可以隐藏静音选项等。此处的代码示例使用自定义标题。其他选项的使用方式类似。

于 2012-06-19T13:06:23.513 回答
2

请参阅此示例Using SimpleCursorAdapter to Display Ringtones from RingtoneManager in Android Using ListView Templates for getting all the existing ringtones using RingtoneManager

于 2012-06-19T12:50:05.287 回答