android 首选项 RingtonePreference
16lz
2021-01-26
RingtonePreference 专门处理铃声。可以在应用程序中使用它为用户提供一个选项,以便选择某个铃声作为首选项,觉得这个还是比较有用的。
下面是我们这个示例的XML 文件 ringtone.xml 此文件的存放路径是 /res/xml/ringtone.xml
下面是我们的 PreferenceActivity 类 RingtonePreferenceActivity
下面给大家看一下运行效果。
当用户选择 Set Ringtone Preference时,首选项框架将显示一个 ListPreference,其中包含设备上的铃声。用户可以选择一个铃声,然后选择 确定 或 取消 按钮。如果点击 确定 按钮 所做的选择将持久化到首选项存储中。请注意,使用铃声,首选项中存储的值是所选铃声的URI,除非选择 Silent 也就是静音,对于这种情况,存储的值为 空字符串,下面来两张图 当我们选择静音的时候 看看给我们存储是什么 。
大家稍微仔细一看就可以看出 给我们存储是 空字符串
下面在看看 当我们选择 一个铃声的时候 存储的是什么
从上图 就可以看出 存储的是一个 URI content://media/external/audio/media/3
如果大家的模拟器里边没有铃声,可以自己添加,将音乐文件复制到 SD 卡, 然后再 打开模拟器上边的音乐 播放器
然后 随便打开一首歌曲 点击 Menu按钮 选择 用作铃声 就可以设置为铃声了。
大家可能发现了 RingtonePreference 有一些属性 和其它的首选项不太一样 比如 showSilent 和 ringtoneType 。可以使用 showSilent在铃声列表中包含静音铃声,使用 ringtoneType 来限制在列表中显示的铃声类型。此属性的可能值包括 ringtone、notification、alarm和all。
源码请大家参考 【android 探索首选项框架 ListPreference】这篇文章 http://byandby.iteye.com/blog/1044916 下载源码 稍作修改即可。
下面是我们这个示例的XML 文件 ringtone.xml 此文件的存放路径是 /res/xml/ringtone.xml
<?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"android:key="ringtong_option_preference" android:title="My Preference"android:summary="Set Ring Tone Preferences"><RingtonePreference android:key="ring_tone_pref" android:title="Set Ringtone Preference" android:showSilent="true" android:ringtoneType="alarm" android:summary="Set Ringtone" /></PreferenceScreen>
下面是我们的 PreferenceActivity 类 RingtonePreferenceActivity
package xiaohang.zhimeng;import android.os.Bundle;import android.preference.PreferenceActivity;public class RingtonePreferenceActivity extends PreferenceActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);addPreferencesFromResource(R.xml.ringtone);}}
下面给大家看一下运行效果。
当用户选择 Set Ringtone Preference时,首选项框架将显示一个 ListPreference,其中包含设备上的铃声。用户可以选择一个铃声,然后选择 确定 或 取消 按钮。如果点击 确定 按钮 所做的选择将持久化到首选项存储中。请注意,使用铃声,首选项中存储的值是所选铃声的URI,除非选择 Silent 也就是静音,对于这种情况,存储的值为 空字符串,下面来两张图 当我们选择静音的时候 看看给我们存储是什么 。
大家稍微仔细一看就可以看出 给我们存储是 空字符串
下面在看看 当我们选择 一个铃声的时候 存储的是什么
从上图 就可以看出 存储的是一个 URI content://media/external/audio/media/3
如果大家的模拟器里边没有铃声,可以自己添加,将音乐文件复制到 SD 卡, 然后再 打开模拟器上边的音乐 播放器
然后 随便打开一首歌曲 点击 Menu按钮 选择 用作铃声 就可以设置为铃声了。
大家可能发现了 RingtonePreference 有一些属性 和其它的首选项不太一样 比如 showSilent 和 ringtoneType 。可以使用 showSilent在铃声列表中包含静音铃声,使用 ringtoneType 来限制在列表中显示的铃声类型。此属性的可能值包括 ringtone、notification、alarm和all。
源码请大家参考 【android 探索首选项框架 ListPreference】这篇文章 http://byandby.iteye.com/blog/1044916 下载源码 稍作修改即可。
更多相关文章
- Android(安卓)自定义View——拖动选择时间控件
- android studio快捷键记录
- 用Eclipse开发Android项目(转)
- Flutter 集成极光推送jpush_flutter
- Android(安卓)Studio 1.3 到来了,马上来升级
- android 通过jdbc访问mysql数据库--(含android studio 配置)通过测
- Robotium第一天:搭建环境测试微信
- 在Eclipse配置安装Android详细新手教程
- 初学Android的几个常见问题