手机设置sd为铃声...
来源:互联网 发布:郑州知豆电动汽车4s店 编辑:程序博客网 时间:2024/04/28 19:45
权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
//定义三个按钮
private Button mRingtongButton;
private Button mAlarmButton;
private Button mNotificationButton;
//定义类型
private static final int RingtongButton=0;
private static final int AlarmButton=1;
private static final int NotificationButton=2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRingtongButton=(Button)findViewById(R.id.myRingtongButton);
mRingtongButton.setOnClickListener(new myRingtongButtonListener());
mAlarmButton=(Button)findViewById(R.id.myAlarmButton);
mAlarmButton.setOnClickListener(new myAlarmButtonListener());
mNotificationButton=(Button)findViewById(R.id.myNotificationButton);
mNotificationButton.setOnClickListener(new myNotificationButtonListener());
}
//设置来电铃声监听器
private class myRingtongButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
//打开系统铃声设置
Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI, true);
//类型为来电ringtong
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
//设置显示的题目
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置来电的铃声");
//当设置完成之后返回到当前的activity
startActivityForResult(intent, RingtongButton);
}
}
//设置闹钟铃声监听器
private class myAlarmButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALARM);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置闹铃铃声");
startActivityForResult(intent, AlarmButton);
}
}
//设置通知铃声监听器
private class myNotificationButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置通知铃声");
startActivityForResult(intent, NotificationButton);
}
}
//检查是否存在指定的文件夹,如果不存在就创建
private boolean isFolder(String strFolder){
boolean tmp = false;
File f1 = new File(strFolder);
if (!f1.exists())
{
if (f1.mkdirs())
{
tmp = true;
}
else
{
tmp = false;
}
}
else
{
tmp = true;
}
return tmp;
}
//设置铃声之后的回调函数
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode!=RESULT_OK){
return;
}
switch(requestCode){
case RingtongButton:
try {
//得到我们选择的铃声
Uri pickedUri=data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
//将我们选择的铃声选择成默认
if(pickedUri!=null){
RingtoneManager.setActualDefaultRingtoneUri(MainActivity.this, RingtoneManager.TYPE_RINGTONE, pickedUri);
}
} catch (Exception e) {
e.printStackTrace();
}
break;
case AlarmButton:
try {
//得到我们选择的铃声
Uri pickedUri=data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
//将我们选择的铃声选择成默认
if(pickedUri!=null){
RingtoneManager.setActualDefaultRingtoneUri(MainActivity.this, RingtoneManager.TYPE_ALARM, pickedUri);
}
} catch (Exception e) {
e.printStackTrace();
}
break;
case NotificationButton:
try {
//得到我们选择的铃声
Uri pickedUri=data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
//将我们选择的铃声选择成默认
if(pickedUri!=null){
RingtoneManager.setActualDefaultRingtoneUri(MainActivity.this, RingtoneManager.TYPE_NOTIFICATION, pickedUri);
}
} catch (Exception e) {
e.printStackTrace();
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
第二种方法:
ContentResolver resolver = this.getContentResolver();
Cursor cursor =
resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null,
null, null, null);
if(cursor.moveToPosition(3)) {
String path2 =
cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
Log.d("liuyanfeng", "--date---"+path2);
int id =
cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media._ID));
Log.d("liuyanfeng", "---id--"+id);
ContentValues cv = new ContentValues();
cv.put(MediaStore.Audio.Media.IS_RINGTONE, true);
cv.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
cv.put(MediaStore.Audio.Media.IS_ALARM, false);
cv.put(MediaStore.Audio.Media.IS_MUSIC, false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(path2);
getContentResolver().update(uri, cv, MediaStore.MediaColumns.DATA + "=?",new String[] {path2});
Uri newUri = ContentUris.withAppendedId(uri, Long.valueOf(id));
RingtoneManager.setActualDefaultRingtoneUri(MainActivity.this,
RingtoneManager.TYPE_RINGTONE, newUri);
- 手机设置sd为铃声...
- 设置SD卡中的铃声后拔出SD卡铃声显示为未知铃声
- android_手机铃声设置
- iPhone设置手机铃声
- 设置手机铃声
- Android中将apk中的音频资源设置为手机铃声
- iphone手机设置自定义歌曲为铃声教程
- 设置音频文件为铃声
- 设置手机铃声代码实现
- 安卓手机铃声设置
- 苹果手机如何设置铃声
- Android将SD卡的音乐文件设置为指定联系人的来电铃声
- IOS手机震动和铃声设置
- 利用RingToneManager设置手机铃声(多选)
- 手机铃声
- iphone手机设置自定义铃声(mac环境下设置)
- Android 手机设置中铃声设置里的通知音量与铃声音量的分离
- 修改手机铃声,开机铃声
- 第三周上机实践———计算旱冰场造价
- ASP.NET里面嵌入javascript代码示例
- Source Insight 开发工具的一些总结
- 装系统:Win7+Ubuntu 12.04 LTS
- Md5加密。
- 手机设置sd为铃声...
- 独守空房看电视剧
- 编译Android4.0源码时常见错误及解决办法
- 打开文件另存为操作
- C++学习笔记
- 坦克大战
- 2200亿迷案:谁泄露了腾讯入股京东?
- 如何在Android应用中加入广告
- HANA License invalid or expired