25

我想从我的应用程序中打开设置-> 声音和显示-> 电话铃声屏幕。我怎样才能做到这一点?

4

2 回答 2

48

根据您的需要,有几种方法可以从您的应用程序中调出“铃声”设置屏幕。

如果你想调出通常可以通过系统设置获得的实际偏好屏幕——让你的用户通过你的应用程序修改手机的通用铃声设置——你可以使用类中的ACTION_SOUND_SETTINGS常量 android.provider.Settings来创建一个新的 Intent 来启动声音设置活动。

startActivityForResult(new Intent(android.provider.Settings.ACTION_SOUND_SETTINGS), 0);

如果您想选择在您的应用程序中使用的自定义铃声,您需要RingtonePreferencepreferences.xml定义文件中添加一个,如下所示:

<RingtonePreference
  android:key="alerts_ringtone"
  android:title="Select ringtone" 
  android:showDefault="true"
  android:showSilent="true"
  android:ringtoneType=""
/> 

您将能够SharedPreferences使用alerts_ringtone作为键在应用程序的默认设置中获取所选首选项的 URI。

后一种技术使用PreferenceActivity类来承载首选项。我不会在这里详细描述,因为 Android 文档有很好的文章和一些示例代码。

于 2009-03-08T10:54:27.200 回答
7

这是该问题的替代解决方案。我也在做同样的任务,但上面的代码对我不起作用。我已将代码更改为

startActivityForResult(new Intent(android.provider.Settings.ACTION_SOUND_SETTINGS), 0);

现在它可以工作了。

于 2013-03-05T13:48:07.370 回答