我想从我的应用程序打开“设置”->“声音和显示”->“电话铃声”屏幕。我该如何做到这一点?
根据您的需求,有几种替代方案可以从您的应用程序中打开“铃声”设置屏幕。
如果您想打开实际的首选项屏幕,通常可以通过系统设置来访问 - 让用户通过您的应用程序修改手机的通用铃声设置 - 您可以使用 android.provider.Settings 类中的 ACTION_SOUND_SETTINGS 常量创建一个新的 Intent 来启动声音设置活动。
startActivityForResult(new Intent(android.provider.Settings.ACTION_SOUND_SETTINGS), 0);
如果您希望在您的应用程序中选择自定义铃声,您需要在您的preferences.xml
定义文件中添加一个RingtonePreference
,如下所示:
<RingtonePreference
android:key="alerts_ringtone"
android:title="Select ringtone"
android:showDefault="true"
android:showSilent="true"
android:ringtoneType=""
/>
使用 alerts_ringtone
作为键,您可以获取应用程序默认的 SharedPreferences
中所选首选项的URI。
后一种技术使用 PreferenceActivity
类来托管首选项选项。我在这里不会详细描述,因为Android文档有一个好的介绍和一些示例代码。
这是一个问题的替代方案。我也在做同样的任务,但上面的代码对我不起作用。我已经更改了代码为
startActivityForResult(new Intent(android.provider.Settings.ACTION_SOUND_SETTINGS), 0);
现在它可以正常工作了。