做了一个音乐播放器,要求有设置铃声的功能,在网上找了很多代码都没有效果,于是自己研究了一下。

 public void setMyRingtone(String path){//如果没有权限,必须先给权限。if (!Settings.System.canWrite(mContext)){//ToastUtil.longTips("请在该设置页面勾选,才可以使用路况提醒功能");Uri selfPackageUri = Uri.parse("package:"+ mContext.getPackageName());Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS,selfPackageUri);mContext.startActivity(intent);}else {File sdFile = new File(path);//ComtentValues 用于存储数据的contenvalues只能存储基本类型的数据ContentValues values = new ContentValues();//文件路径values.put(MediaStore.MediaColumns.DATA,sdFile.getAbsolutePath());//文件名values.put(MediaStore.MediaColumns.TITLE,sdFile.getName());values.put(MediaStore.MediaColumns.MIME_TYPE,"audio/*");values.put(MediaStore.Audio.Media.IS_RINGTONE,true);values.put(MediaStore.Audio.Media.IS_NOTIFICATION,false);values.put(MediaStore.Audio.Media.IS_ALARM,false);values.put(MediaStore.Audio.Media.IS_MUSIC,false);Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdFile.getAbsolutePath());Uri newUri=null;Cursor cursor = mContext.getContentResolver().query(uri, null, MediaStore.MediaColumns.DATA + "=?", new String[] { path },null);if (cursor.moveToFirst() && cursor.getCount() > 0){String _id=cursor.getString(0);Log.d(TAG," cursor.getCount ");mContext.getContentResolver().update(uri, values, MediaStore.MediaColumns.DATA + "=?",new String[] { path });newUri = ContentUris.withAppendedId(uri, Long.valueOf(_id));}
            //网上很多用的newUri 是直接这样获取的,打印出来是空的,这就是失败的原因。要通过在数据库中查找才能成功//Uri newUri = context.getContentResolver().insert(uri,values);if (newUri!=null){RingtoneManager.setActualDefaultRingtoneUri(mContext,RingtoneManager.TYPE_RINGTONE,newUri);}Toast.makeText(mContext.getApplicationContext(),"设置来电铃声成功!",Toast.LENGTH_SHORT).show();}}

android 怎样设置铃声相关推荐

  1. android 铃声设置失败,无法通过Android代码设置铃声

    我正在开发一个应用程序,它将随机设置用户已选择的铃声列表中的铃声.无法通过Android代码设置铃声 虽然我的代码适用于Android N及以上版本,但我遇到了Android M及以下版本的问题.我为 ...

  2. android 手机设置铃声

    和应用程序相比,普通用户在初初接触智能手机时最先反而会对多媒体功能产生兴趣,尤其是铃声.壁纸设定之类个性化功能,更是让不少追求时尚的年轻人乐此不疲.对于Android手机来说,其铃声.图片的个性化空间 ...

  3. 如何在Android中设置铃声+震动

    有时候一些通讯软件需要这些个功能,比如说收到短信,通知等,要求手机发出铃声,或震动,或发光以提示用户知晓.往往手机都是有默认设置的,比如说用户开启了铃声+震动:只铃声不震动:完全静音等等... 这个时 ...

  4. android 自定义铃声设置,在Android中设置铃声

    解决方案是在将资源文件资产提供给内容解析器进行插入之前,先获取资源文件资产并将其写入sdcard 1st. File newSoundFile = new File("/sdcard/med ...

  5. android 代码设置铃声,在Android中设置铃声

    慕的地6264312 解决方案是在将资源文件资产提供给内容解析器进行插入之前,先获取资源文件资产并将其写入sdcard 1st.File newSoundFile = new File("/ ...

  6. android 双卡的铃声设置在哪里,安卓android手机铃声设置方法

    android铃声设置另类方法 我们在其他Android手机设置铃声的时候,一般采用的方法都是使用第三方软件(如TongPicker)设置,这样的设置方法有些繁琐,必须在相应的设置箱内启动该程序才能设 ...

  7. android 双卡铃声设置在哪里,Android(安卓)手机铃声设置方法

    Android(安卓)手机铃声(自选)是如何设置的 铃声设置很简单,一般Android手机具有四种铃声可以设置 分别为:来电.短信.闹钟.系统等种类铃声 具体的设置方法为: 1.首先打开Android ...

  8. 2022-03-16 iPhone设置铃声

    Android手机设置铃声可以直接在手机中选择任意音频文件设置为手机铃声,但是在iPhone中对手机文件访问进行了限制,不能通过这种简易的方式设置手机铃声,所以需要借助工具设置. iTunes for ...

  9. android2.3原生态铃声,Android中的铃声设置

    [实例简介] Android中设置来电铃声.闹钟铃声.通知铃声. [实例截图] [核心代码] MyRingtoneSet └── MyRingtoneSet ├── AndroidManifest.x ...

最新文章

  1. 北大林宙辰:追求机器学习研究的美感
  2. ConcurrentHashMap 的实现原理
  3. 自制Unity小游戏TankHero-2D(3)开始玩起来
  4. Tree前序反序列化
  5. Eclipse中src/main/resources配置文件启动问题
  6. 三层架构与设计模式思想部署企业级数据库业务系统开发
  7. goland配置mysql失败_GoLand配置数据库、远程host以及远程调试
  8. HDU2571 命运【动态规划DP】
  9. ini_set和require使用
  10. 联通沃商店游戏中心接入规范(2014新版)
  11. Spring自定义属性转换器
  12. 漫画:什么是 B+ 树?
  13. php域名转向,php强制用户转向www域名的方法_PHP
  14. JavaScript 案例综合提升
  15. 自己动手实现远程执行功能
  16. SwiftUI Mapkit 导航基础教程大全之 MKMapView地图显示并实现导航线路(教程含源码)
  17. 饥荒(steam)服务器解决网络问题差的一种简单方法
  18. 佳能全民影像大赛颁奖典礼在北京举办;浪潮信息发布新款JBOD产品 | 全球TMT
  19. 计量感知芯片HLW8112在泛电力物联网的核心应用
  20. 华为鸿蒙实装,鸿蒙实装?推特博主爆料华为P40将推出两种系统机型

热门文章

  1. 域用户登录方法在计算机上不被允许,域管理员不允许本地交互式登陆的解决方法...
  2. python 报价机器人_100行代码实现报价机器人公众号后台
  3. C++2.0 shared_ptr和weak_ptr深入刨析
  4. Cadence ic618 操作备忘录
  5. 实现短信验证码有效时间
  6. 阿里,B站小伙伴刚刚分享的大数据开发运维学习规划,抓紧收藏
  7. vm无法连接虚拟设备sata01_没法连接虚拟设备sata0:1怎样解决?
  8. 【代码小记】赏析《RAFT:运动属性的光流感知》
  9. Oracle同一字段有数字和字母时进行排序
  10. 70个经典的 Shell 脚本