Android 指定的音乐设置成个人铃声
2015-12-22 16:49
537 查看
在网上搜了一大圈的相关材料。设置个人铃声一直设置不成功,后来找了下原因,是需要将音乐的路径设置成Uri才行,这样就设置成功了。
首先贴一下将制定的音乐设置成个人的铃声:
就这样子就可以设置了。
然后我再贴一下使用手机自带的铃声设置成个人铃声的代码:
首先贴一下将制定的音乐设置成个人的铃声:
Uri uri = Uri.fromFile(new File(音乐路径)); ContentValues values = new ContentValues(); values.put(ContactsContract.Contacts.CUSTOM_RINGTONE, uri.toString()); MyApp.getInstance().getContentResolver().update(ContactsContract.Contacts.CONTENT_URI, values, ContactsContract.Contacts._ID + " = " + 联系人的ID, null) ;
就这样子就可以设置了。
然后我再贴一下使用手机自带的铃声设置成个人铃声的代码:
private void doPickRingtone() { Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); // Allow user to pick 'Default' intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true); // Show only ringtones intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE); // Don't show 'Silent' intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false); Uri ringtoneUri; if (mCustomRingtone != null) { ringtoneUri = Uri.parse(mCustomRingtone); } else { // Otherwise pick default ringtone Uri so that something is selected. ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); } // Put checkmark next to the current ringtone for this contact intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtoneUri); // Launch! startActivityForResult(intent, RINGTONE_PICKED); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode != RESULT_OK) { return; } switch (requestCode) { case RINGTONE_PICKED: { // 选择完铃声之后获得选中铃音的URI,将其值存入数据库 Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); handleRingtonePicked(pickedUri); break; } } } private void handleRingtonePicked(Uri pickedUri) { if (pickedUri == null || RingtoneManager.isDefault(pickedUri)) { mCustomRingtone = null; } else { mCustomRingtone = pickedUri.toString(); } saveData(); } /** * 保存数据 */ private void saveData() { ContentValues values = new ContentValues(); values.put(Contacts.CUSTOM_RINGTONE, mCustomRingtone); //这里的mContactId是当前联系人的Id getContentResolver().update(Contacts.CONTENT_URI, values, Contacts._ID + " = " + mContactId, null) ; }
相关文章推荐
- Android资源之图像资源(图层图像资源)
- Android checkbox的listView具体操作方法
- 如何在Eclipse中查看Android源代码
- Android studio导入Android studio项目出错
- android绘制几何图形
- freetype 编译 android so 库
- 安卓开发学习之022 Canvas之drawPoints
- android shape的使用(转载)
- Android View嵌套和事件传递手稿
- Android 返回按钮的实现
- Android M 新的运行时权限开发者需要知道的一切
- 【Android】SQLite实例(多线程下安全访问数据库)
- 47.Android 自定义PopupWindow技巧
- Android简单音乐播放实例
- Android系统提供了哪些东西,供我们可以开发出优秀的应用程序
- Android系统提供了哪些东西,供我们可以开发出优秀的应用程序
- Android Support V4, V7, V13的作用
- 快速开发框架dh 4000 roid的使用
- Android中插件开发篇之----应用换肤原理解析
- Android学习(3)---Fragment的学习