更改铃声选择器对话框样式

时间:2017-01-10 15:55:36

标签: android notifications ringtonemanager

我正在开发一个在某些时候有通知的应用程序。我实现了几种方法,使用户可以更改通知声音。如何更改铃声选择器对话框的样式?

这是我的铃声选择器代码:

public void getNotification(){
    Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone");
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, (Uri) null);
    this.startActivityForResult(intent, 5);
}

我已经有一个自定义样式用于警报对话(R.style.AlertDialogCustom)。如何在我的铃声选择器对话框中使用此自定义样式?

1 个答案:

答案 0 :(得分:1)

我设法通过在上面的方法中添加以下代码来解决我的问题:

public void getNotification(){
        Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone");
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, R.style.AlertDialogCustom); //this one
        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, (Uri) null);
        this.startActivityForResult(intent, 5);
    }

这就是我的自定义AlertDialog对应的样式:

<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/maroon</item>
        <item name="colorAccent">@color/primary</item>
    </style>