package
com.test;
import
java.io.File;
import
android.app.Activity;
import
android.content.ContentValues;
import
android.content.Intent;
import
android.net.Uri;
import
android.os.Bundle;
import
android.os.Environment;
import
android.provider.MediaStore;
import
android.util.Log;
import
android.view.View;
import
android.widget.Button;
import
android.widget.Toast;
public
class
RingtoneManager
extends
Activity {
private
Button btn1
=
null
;
private
Button btn2
=
null
;
private
Button btn3
=
null
;
private
static
final
int
Ringtone
=
0
;
private
static
final
int
Alarm
=
1
;
private
static
final
int
Notification
=
2
;
private
static
final
String FileRingtone
=
Environment .getExternalStorageDirectory()
+
"
/music/ringtones
"
;
private
static
final
String FileAlarm
=
Environment .getExternalStorageDirectory()
+
"
/music/alarms
"
;
private
static
final
String FileNotification
=
Environment .getExternalStorageDirectory()
+
"
/music/notifications
"
;
/**
Called when the activity is first created.
*/
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState); setContentView(R.layout.main); btn1
=
(Button)
this
.findViewById(R.id.Button01); btn2
=
(Button)
this
.findViewById(R.id.Button02); btn3
=
(Button)
this
.findViewById(R.id.Button03);
final
File file
=
new
File(
"
/sdcard/
后来.mp3
"
); btn1.setOnClickListener(
new
Button.OnClickListener() {
public
void
onClick(View arg0) {
//
TODO Auto-generated method stub
if
(isFile(FileRingtone)) { //这里放子定义铃声的代码 .......
//
打开系统铃声设置
Intent intent
=
new
Intent(android.media.RingtoneManager.ACTION_RINGTONE_PICKER);
//
设置类型为来电
intent.putExtra(android.media.RingtoneManager.EXTRA_RINGTONE_TYPE,android.media.RingtoneManager.TYPE_RINGTONE);
//
设置显示的标题
intent.putExtra(android.media.RingtoneManager.EXTRA_RINGTONE_TITLE,
"
设置来电铃声
"
); startActivityForResult(intent, Ringtone); } } }); btn2.setOnClickListener(
new
Button.OnClickListener() {
public
void
onClick(View v) {
//
TODO Auto-generated method stub
if
(isFile(FileAlarm)) { //这里放自定义铃声代码 ... Intent intent
=
new
Intent(android.media.RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra(android.media.RingtoneManager.EXTRA_RINGTONE_TYPE,android.media.RingtoneManager.TYPE_ALARM); intent.putExtra(android.media.RingtoneManager.EXTRA_RINGTONE_TITLE,
"
设置闹钟铃声
"
); startActivityForResult(intent, Alarm); } } }); btn3.setOnClickListener(
new
Button.OnClickListener() {
public
void
onClick(View v) {
//
TODO Auto-generated method stub
if
(isFile(FileNotification)) { //这里放自定义铃声代码 ..... Intent intent
=
new
Intent(android.media.RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra(android.media.RingtoneManager.EXTRA_RINGTONE_TYPE,android.media.RingtoneManager.TYPE_NOTIFICATION); intent.putExtra(android.media.RingtoneManager.EXTRA_RINGTONE_TITLE,
"
设置通知铃声
"
); startActivityForResult(intent, Notification); } } }); }
/**
* 设置铃声之后的回调函数
*/
protected
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data) {
super
.onActivityResult(requestCode, resultCode, data);
if
(resultCode
!=
RESULT_OK) {
return
; }
else
{
//
得到我们选择的铃声
//
Uri uri=
//
MediaStore.Audio.Media.getContentUriForPath("/sdcard/yoyomusic/后来.mp3");
Uri uri
=
data.getParcelableExtra(android.media.RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if
(uri
!=
null
) {
switch
(requestCode) {
case
Ringtone: android.media.RingtoneManager.setActualDefaultRingtoneUri(
this
, android.media.RingtoneManager.TYPE_RINGTONE,uri);
break
;
case
Alarm: android.media.RingtoneManager.setActualDefaultRingtoneUri(
this
,android.media.RingtoneManager.TYPE_ALARM,uri); Toast.makeText(
this
,
"
設置鈴聲成功!
"
, Toast.LENGTH_SHORT).show();
break
;
case
Notification: android.media.RingtoneManager.setActualDefaultRingtoneUri(
this
,android.media.RingtoneManager.TYPE_NOTIFICATION,uri);
break
;
default
:
break
; } } } }
/**
* 判断文件是否存在,不存在则创建. * *
@param
path *
@return
*/
private
boolean
isFile(String path) {
boolean
b
=
false
; File f
=
new
File(path);
if
(f.exists()) { b
=
true
; }
else
{
if
(f.mkdirs()) { b
=
true
; }
else
{ b
=
false
; } }
return
b; }
}