android 设置默认铃声,我的Android进阶之旅------gt;Android系统设置默认来电铃声、闹钟铃声、通知铃声,android进阶...
我的Android进阶之旅------>Android系统设置默认来电铃声、闹钟铃声、通知铃声,android进阶
首先了解Android系统本身提供的默认铃声文件,这些文件都放在 /system/media/audio 目录下。
/system/media/audio/ringtones
系统来电铃声
/system/media/audio/notifications
系统通知铃声
/system/media/audio/alarms
系统闹钟铃声
自己下载的铃声,可以放在SD卡的music目录。主要包括:一般的铃声(如来电铃声)、闹钟铃声和通知铃声。这三种铃声分别放在如下的目录中:
/sdcard/music/ringtones
用户来电铃声
/sdcard/music/notifications
用户通知铃声
/sdcard/music/alarms
用户闹钟铃声
下面通过一个实例来学习如何设置系统的默认来电铃声、闹钟铃声、通知铃声
首先编写界面文件 layout_ring.xml
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
android:id="@+id/buttonRingtone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设置来电铃声"
/>
android:id="@+id/buttonAlarm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设置闹钟铃声"
/>
android:id="@+id/buttonNotification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设置通知铃声"
/>
RingstonActivity.java文件
import java.io.File;
import android.app.Activity;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
* 设置系统的默认来电铃声、闹钟铃声、通知铃声
*
博客地址: 欧阳鹏CSDN博客
* @author 欧阳鹏
*
*/
public class RingstonActivity extends Activity {
/* 3个按钮 */
private Button mButtonRingtone;
private Button mButtonAlarm;
private Button mButtonNotification;
/* 自定义的类型 */
public static final int CODE_RINGSTONE = 0;
public static final int CODE_ALARM = 1;
public static final int CODE_NOTIFICATION = 2;
/**
* 来电铃声文件夹
* /system/media/audio/ringtones 系统来电铃声
* /sdcard/music/ringtones 用户来电铃声
*/
private String strRingtoneFolder = "/system/media/audio/ringtones";
//private String strRingtoneFolder = "/sdcard/music/ringtones";
/**
* 闹钟铃声文件夹
* /system/media/audio/alarms 系统闹钟铃声
* /sdcard/music/alarms 用户闹钟铃声
*/
private String strAlarmFolder = "/system/media/audio/alarms";
//private String strAlarmFolder = "/sdcard/music/alarms ";
/**
* 闹钟铃声文件夹
* /system/media/audio/notifications 系统通知铃声
* /sdcard/music/notifications 用户通知铃声
*/
private String strNotificationFolder = "/system/media/audio/notifications";
//private String strNotificationFolder = "/sdcard/music/notifications";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_ring);
mButtonRingtone = (Button) findViewById(R.id.buttonRingtone);
mButtonAlarm = (Button) findViewById(R.id.buttonAlarm);
mButtonNotification = (Button) findViewById(R.id.buttonNotification);
mButtonRingtone.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (hasFolder(strRingtoneFolder)) {
// 打开系统铃声设置
Intent intent = new Intent(
RingtoneManager.ACTION_RINGTONE_PICKER);
// 类型为来电RINGTONE
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_RINGTONE);
// 设置显示的title
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE,
"欧阳鹏设置来电铃声");
// 当设置完成之后返回到当前的Activity
startActivityForResult(intent, CODE_RINGSTONE);
}
}
});
mButtonAlarm.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (hasFolder(strAlarmFolder)) {
// 打开系统铃声设置
Intent intent = new Intent(
RingtoneManager.ACTION_RINGTONE_PICKER);
// 设置铃声类型和title
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_ALARM);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE,
"欧阳鹏设置闹钟铃声");
// 当设置完成之后返回到当前的Activity
startActivityForResult(intent, CODE_ALARM);
}
}
});
mButtonNotification.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (hasFolder(strNotificationFolder)) {
// 打开系统铃声设置
Intent intent = new Intent(
RingtoneManager.ACTION_RINGTONE_PICKER);
// 设置铃声类型和title
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_NOTIFICATION);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE,
"欧阳鹏设置通知铃声");
// 当设置完成之后返回到当前的Activity
startActivityForResult(intent, CODE_NOTIFICATION);
}
}
});
}
/**
* 当设置铃声之后的回调函数
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) {
return;
}
// 得到我们选择的铃声
Uri pickedUri = data
.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if (pickedUri != null) {
switch (requestCode) {
case CODE_RINGSTONE:
// 将我们选择的铃声设置成为默认来电铃声
RingtoneManager.setActualDefaultRingtoneUri(this,
RingtoneManager.TYPE_RINGTONE, pickedUri);
break;
case CODE_ALARM:
// 将我们选择的铃声设置成为默认闹钟铃声
RingtoneManager.setActualDefaultRingtoneUri(this,
RingtoneManager.TYPE_ALARM, pickedUri);
break;
case CODE_NOTIFICATION:
// 将我们选择的铃声设置成为默认通知铃声
RingtoneManager.setActualDefaultRingtoneUri(this,
RingtoneManager.TYPE_NOTIFICATION, pickedUri);
break;
}
}
}
/**
* 检测是否存在指定的文件夹,如果不存在则创建
*
* @param strFolder
* 文件夹路径
*/
private boolean hasFolder(String strFolder) {
boolean btmp = false;
File f = new File(strFolder);
if (!f.exists()) {
if (f.mkdirs()) {
btmp = true;
} else {
btmp = false;
}
} else {
btmp = true;
}
return btmp;
}
}
下面是运行效果图:
==================================================================================================
作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
android 设置默认铃声,我的Android进阶之旅------gt;Android系统设置默认来电铃声、闹钟铃声、通知铃声,android进阶...相关推荐
- android判断通知铃声是否静音模式
前几天的项目中,当收到新消息了,需要铃声通知,我调用了 mediaPlayer.setDataSource(context, RingtoneManager.getDefaultUri(Rington ...
- android 设置默认铃声,Android系统修改默认铃声
Andriod手机的铃声默认保存在system/media/audio/下面,有四个文件夹,分别是alarms,notifications,ringtones,ui.对应闹钟.通知.铃声.UI音效.r ...
- android通过代码设置铃声_我想在国产安卓系统,用上这些超好用的原生 Android 功能...
2019 年 7 月曾经写过一篇文章揭露 Android 定制系统「阉割」密码管理器现象的文章,虽然从我自己微不足道的影响力出发这样的文章甚至都算不上「揭露」,但 2020 年我在用的 ColorOS ...
- Android 设置铃声——给app设置自定义铃声功能
因为有个需求是在自己的app中添加铃声并播放,而之前在网上查阅了相关的资料却大多都是教人怎么设置手机来电.闹钟等手机系统的功能,所以就以此文章作为记录. 一.本篇文章的大致内容是: 1.调用系统铃声界 ...
- Android 设置铃声
在网上找了很多关于铃声设置的,不晓得怎么回事就是没测试通过,后来换了另外一种方式解决了.回过头来看了一下原理是一样的,于是就把两者合并到了一起.原理:首先根据传进来的绝对路径来查询传进来路径的歌曲是否 ...
- android intent铃声选择,Android 设置系统铃声和系统音量
android系统铃声设置 public class Main extends Activity { /** Called when the activity is first created. */ ...
- android 设置铃声文件夹在哪里,Android 设置铃声的文件夹
Android 设置铃声的文件夹 1 系统自带声音文件存放的位置和内容. 1.1 总目录:/system/media/audio 1.2 闹钟:/system/media/audio/alarms 1 ...
- android 设置应用程序 默认值
Android中有时打开一个文件,系统会弹出一个应用程序选择列表供你选择.如果你把某个应用程序设为默认值,则不会弹出选择框,而会直接调用该程序. 设置方法如下: PackageManager pm = ...
- android设置默认程序和清除默认设置
以设置和清除默认浏览器为例. 1.检查是否已经设置了默认 [java] view plain copy private void testGetDefaultActivity() { Package ...
- android设置默认程序清除默认设置
以设置和清除默认浏览器为例. 1.检查是否已经设置了默认 private void testGetDefaultActivity() {PackageManager pm = getPackageMa ...
最新文章
- centos 脚本基础练习1
- 零基础如何学爬虫技术?
- Spark跟Flink的常见问题
- LintCode 402: Continuous Subarray Sum
- vue的matcher_vue-router工作原理概述和问题分析
- 【结论】串串串(nowcoder 20107-A)
- ruby hash方法_Ruby中带有示例的Hash.flatten方法
- Eureka服务注册源码分析
- mos管的rc吸收电路计算_MOS/CMOS集成电路简介及N沟道MOS管和P沟道MOS管
- Python入门语法知识点合集
- 2021年,产品经理是否仍在招聘风口?多年火热是否只是泡沫?
- Silverlight3 加载其他xap
- IP地址、子网掩码、网络地址之间相关的计算
- 石子合并,四边形不等式优化(Buy Candy,玲珑杯 Round#6 A lonlife 1066)
- java 输出26个大小写字母
- Blast中文手册(6)
- DNS不能解析外网与正确设置DNS的技术分享
- Java图标对应的文件类型
- 输出斐波拉契数列前30项,每行5个
- YTU oj 3631 树的高度
热门文章
- 深富策略鸿蒙概念股继续领跌
- el-table使用span-method合并行
- ubuntu18.04下的屏幕亮度调节问题
- php小型购物网站,PHP实现一个多功能购物网站
- Activity切换闪屏问题
- 个人最喜欢的几款火狐扩展
- 火狐插件 测试浏览器兼容性_在Firefox中测试和报告插件兼容性
- (转)金蝶KIS迷你版、标准版在查询数量金额明细账时提示“发生未知错误,系统当前操作被取消,请与金蝶公司联系”...
- OpenHarmony命令行工具hdc_std使用总结
- python+selenium自动化软件测试(第1章)