Android开发之设置铃声

首先介绍一下Android系统支持的铃声格式。有以下几种:

64赫兹Midi,AAC、AAC+、AMR、WAV、MP3、Real Audio、WMA、OGG等格式。

将音频文件设置成铃声很简单,只需如下几步即可:

1) 获取系统音频文件的Uri

Uri uri =MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath());//获取系统音频文件的Uri

2) 将文件插入系统媒体库,并获取新的Uri

Uri newUri = this.getContentResolver().insert(uri,values);//将文件插入系统媒体库,并获取新的Uri

3) 设置铃声

RingtoneManager.setActualDefaultRingtoneUri(this, ringType, newUri);//设置铃声

下面是设置铃声的详细代码:

/**
 * 设置铃声
 * @param ringType int: 铃声类型
 * @param file File: 要设为铃声的文件
 * */
protected void setRingtone(int ringType, File file) {
	// TODO Auto-generated method stub
	boolean isRingtone=false,isNotification=false,isAlarm=false,isMusic=false;
	String msg="";
	switch (ringType) {
	case ConstUtil.RING_ALARM://闹铃
		isAlarm=true;
		msg="设置闹钟铃声!";
		break;
	case ConstUtil.RING_NOTIFICATION://通知
		isNotification=true;
		msg="设置通知铃声成功!";
		break;
	case ConstUtil.RING_RINGTONE://来电
		isRingtone=true;
		msg="设置来电铃声成功!";
	case ConstUtil.RING_MUSIC://添加到铃声库(全部铃声)
		isMusic=true;
		msg="设置全部铃声成功!";
		break;
	default:
		break;
	}
	ContentValues values = new ContentValues();
	values.put(MediaStore.MediaColumns.DATA, file.getAbsolutePath());
	values.put(MediaStore.MediaColumns.TITLE, file.getName());
	values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
	values.put(MediaStore.Audio.Media.IS_RINGTONE, isRingtone);
	values.put(MediaStore.Audio.Media.IS_NOTIFICATION, isNotification);
	values.put(MediaStore.Audio.Media.IS_ALARM, isAlarm);
	values.put(MediaStore.Audio.Media.IS_MUSIC, isMusic);
	Uri uri = MediaStore.Audio.Media.getContentUriForPath(file
			.getAbsolutePath());//获取系统音频文件的Uri
	Uri newUri = this.getContentResolver().insert(uri, values);//将文件插入系统媒体库,并获取新的Uri
	RingtoneManager.setActualDefaultRingtoneUri(this,
			ringType, newUri);//设置铃声
	Toast.makeText(getApplicationContext(), msg,Toast.LENGTH_SHORT)
			.show();
}

Android开发之设置铃声

时间: 2024-10-12 17:11:49

Android开发之设置铃声的相关文章

Android开发之手机铃声代码实现

如果读到的是音频文件路径,需要先将音乐文件插入到多媒体库.如:path传入:/mnt/sdcard/mp3/a.mp3 //设置--铃声的具体方法 public void setMyRingtone(String path) { File sdfile = new File(path); ContentValues values = new ContentValues(); values.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePa

android开发,设置listview的高度无效

一般是在item的layout中设置高度 android:layout_height="100dp" 但是发现这样后无效,因此找到解决办法,如下: android:minHeight="100dp"

2-6 Flutter开发环境与Android开发环境设置实操(Windows)

通常安装完AS后,sdk的目录 C:\Users\wjw\AppData\Local\Android\sdk 如果在这个目录下没有找到sdk的目录的话 Settings里面搜索sdk,找到Android SSDK 这里就是as自动下载sdk的文件夹的路径 如果这里的路径是空的话,可以点击右边的Edit 进行勾选,重新下载初始化 配置安卓环境变量 首先要设置的:ANDROID_HOME C:\Users\wjw\AppData\Local\Android\sdk %ANDROID_HOME%\em

Android开发教程--设置ImageView图片的显示比例

为适应不同屏幕的手机,ImageView图片的显示比例,可以使用android:scaleType属性来处理,处理方式的有以下几种: 1.在xml配置中使用:android:scaleType="centerCrop" 2.在代码中使用:   imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); ScaleType的值分别代表的意义:ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleTyp

Android开发,设置状态栏颜色

StatusBarColorSetter.java package com.example.buyishi.translucentdemo; import android.app.Activity; import android.content.res.Resources; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowM

Android开发实例透明效果设置方法

没什么android开发经验的朋友来说,实现透明效果是有一定难度的,我看见麦子学院android开发视频上面讲了三种方法来实现透明效果,这三种方法非常不错,嘿嘿,就抄下来分享给大家. 1.设置alpha View v = findViewById(R.id.content);/到你要设透明背景的layout 的id  v.getBackground().setAlpha(100);//0~255透明度值  2.用ARGB来控制 半透明<Button android:background="

Android开发学习笔记之Activity属性设置

麦子学院android开发老师说Activity是Android组件中最基本也是最为常见用的四大组件之一,在android开发中运用极为广泛,作为android开发初学者需要熟练掌握,麦子学院android开发老师分享了Activity属性的常用设置. android:allowTaskReparenting 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务. android:alwaysRetainTaskState 是否保留状态不变, 比如切换回home, 再从新打

android开发平台的演变以及Android Studio设置

①. 从Eclipse到Android Studio 前几年主要是用Eclipse装android的插件进行android开发,而Android Studio到2013年5月16日才刚开始.一开始Android Studio的Bug很多,所以更多人仍然使用Eclipse来开发.但是现在Android Studio的功能很完善了,bug也不多,Google停止了对Eclipse的android开发平台的更新. Android Studio很好用,但是有一点很关键,它基于IntelliJIDEA.I

Ubuntu 14.04 设置Android开发环境

伸展树模版真的好长好长... cut a b c:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后把ch[ch[root][1][0]]拿掉,放在剩下的树的第c个节点下. flip a b:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后翻转ch[ch[root][1][0]]: 由于会出现操作两边的情况,所以加了两个-1节点. 注意: 1,输出的时候要注意空格和换行. 2,在拿掉子树的时候要注意push_up(); #include<stdio.h> #inc