如下是为Notification自定义铃声的部分片段
- 铃声选择(已记住上次选择的铃声)
_btnNotificationChooseRington
.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent( RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_NOTIFICATION);
Uri ringtongUri = null;
final SharedPreferences sharedPreferences = MoreSettingActivity.this.getSharedPreferences(Constants.SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE);
String uri = sharedPreferences.getString(CommonDefn.PREFERENCE_NOTIFICATION_RINGTONG, "null");
if("null".equals(uri)) {
ringtongUri = (Uri) null;
}
else {
ringtongUri = android.net.Uri.parse(uri);
}
intent.putExtra( RingtoneManager.EXTRA_RINGTONE_TITLE, getString(R.string.notification_ringtong));
intent.putExtra( RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,ringtongUri);
startActivityForResult( intent, RESULT_FIRST_USER);
}
});
- 铃声保存(注意静音保存为null)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, String.format("requestCode=%d,resultCode = %d", requestCode, resultCode));
if (resultCode == RESULT_OK ) {
Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if (uri != null) {
String ringTonePath = uri.toString();
SharedPreferences _prefse = getSharedPreferences(Constants.SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE);
_prefse.edit().putString(CommonDefn.PREFERENCE_NOTIFICATION_RINGTONG, ringTonePath).commit();
}
else {Log.d(TAG, "null");
SharedPreferences _prefse = getSharedPreferences(Constants.SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE);
_prefse.edit().putString(CommonDefn.PREFERENCE_NOTIFICATION_RINGTONG, "null").commit();
}
}
else if (resultCode == RESULT_CANCELED) {
}
super.onActivityResult(requestCode, resultCode, data);
}
- 铃声设置
private boolean isNotificationSoundEnabled() {
//return sharedPrefs.getBoolean(Constants.SETTINGS_SOUND_ENABLED, true);
return !sharedPrefs.getString(CommonDefn.PREFERENCE_NOTIFICATION_RINGTONG, "null").equals("null");
}
private boolean isNotificationVibrateEnabled() {
return sharedPrefs.getBoolean(Constants.SETTINGS_VIBRATE_ENABLED, true);
}
if(isNotificationSoundEnabled()&&isNotificationVibrateEnabled()){
notification.sound = android.net.Uri.parse(sharedPrefs.getString(CommonDefn.PREFERENCE_NOTIFICATION_RINGTONG, Settings.System.DEFAULT_NOTIFICATION_URI.toString()));
long[] vibrate = {0,100,200,300};
notification.vibrate = vibrate;
}
else if (isNotificationSoundEnabled()&&!isNotificationVibrateEnabled()) {
notification.sound = android.net.Uri.parse(sharedPrefs.getString(CommonDefn.PREFERENCE_NOTIFICATION_RINGTONG, Settings.System.DEFAULT_NOTIFICATION_URI.toString()));
//notification.defaults = Notification.DEFAULT_SOUND;
}
分享到:
相关推荐
Notification的使用示例各种效果,包含系统一般notification的示例,以及自定义铃声震动等
4 2 2 通知 Notification 4 3 菜单 第5章 文件存储 5 1 SharedPreferences 5 2 流文件 5 3 XML存储 5 4 JSON存储 第6章 数据库 6 1 SQLite基础知识 6 2 SQLite 函数 6 2 1 核心函数 6 2 2 日期和时间函数 6 2 3 ...
8.9 设置远程下载音乐为手机铃声 8.10 远程下载桌面背景图案 8.11 将手机文件上传至网站服务器 8.12 移动博客发布器 8.13 移动RSS阅读器 8.14 远程下载安装Android程序 8.15 手机下载看3gp影片 ...
8.9 设置远程下载音乐为手机铃声 8.10 远程下载桌面背景图案 8.11 将手机文件上传至网站服务器 8.12 移动博客发布器 8.13 移动RSS阅读器 8.14 远程下载安装Android程序 8.15 手机下载看3gp影片 8.16 访问网站Login ...
8.9 设置远程下载音乐为手机铃声 8.10 远程下载桌面背景图案 8.11 将手机文件上传至网站服务器 8.12 移动博客发布器 8.13 移动RSS阅读器 8.14 远程下载安装Android程序 8.15 手机下载看3gp影片 8.16 访问网站Login ...
8.9 设置远程下载音乐为手机铃声 8.10 远程下载桌面背景图案 8.11 将手机文件上传至网站服务器 8.12 移动博客发布器 8.13 移动RSS阅读器 8.14 远程下载安装Android程序 8.15 手机下载看3gp影片 8.16 访问网站Login ...
8.9 设置远程下载音乐为手机铃声 8.10 远程下载桌面背景图案 8.11 将手机文件上传至网站服务器 8.12 移动博客发布器 8.13 移动RSS阅读器 8.14 远程下载安装Android程序 8.15 手机下载看3gp影片 8.16 访问网站Login ...
8.9 设置远程下载音乐为手机铃声 534 8.10 远程下载桌面背景图案 539 8.11 将手机文件上传至网站服务器 542 8.12 移动博客发布器 546 8.13 移动rss阅读器 551 8.14 远程下载安装android程序 560 ...
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客...
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客...
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客...
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客...
实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过网络播放MP3——Runnable存储FileOutputStream技巧 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景...
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动...
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客...
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客...