package com.Aina.Android;
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.os.Environment;
import android.view.View;
import android.widget.Button;
public class Test extends Activity {
/** Called when the activity is first created. */
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";
@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);
btn1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
if (isFile(FileRingtone)) {
// 打开系统铃声设置
Intent intent = new Intent(
RingtoneManager.ACTION_RINGTONE_PICKER);
// 设置类型为来电
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_RINGTONE);
// 设置显示的标题
intent.putExtra(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(
RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_ALARM);
intent.putExtra(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(
RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_NOTIFICATION);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE,
"设置通知铃声");
startActivityForResult(intent, Notification);
}
}
});
}
/**
* 设置铃声之后的回调函数
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) {
return;
} else {
// 得到我们选择的铃声
Uri uri = data
.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
if (uri != null) {
switch (requestCode) {
case Ringtone:
RingtoneManager.setActualDefaultRingtoneUri(this,
RingtoneManager.TYPE_RINGTONE, uri);
break;
case Alarm:
RingtoneManager.setActualDefaultRingtoneUri(this,
RingtoneManager.TYPE_ALARM, uri);
break;
case Notification:
RingtoneManager.setActualDefaultRingtoneUri(this,
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;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
<Button android:text="设置来电铃声" android:id="@+id/Button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
<Button android:text="设置闹钟铃声" android:id="@+id/Button02"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
<Button android:text="设置通知铃声" android:id="@+id/Button03"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Aina.Android"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Test"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
</manifest>
分享到:
相关推荐
由于Android 6.0(API级别23)及以上版本引入了运行时权限管理,因此在运行时还需要检查并请求这些权限: ```java if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != ...
首先,我们需要理解Android的音频资源管理。在Android系统中,音频资源分为多种类型,包括铃声、通知声、闹钟声等,它们存储在系统的媒体库中。通过MediaStore类,我们可以访问到这些资源。MediaStore.Audio.Media....
在Android平台上,管理和设置来电铃声是一个常见的需求。本文将深入探讨如何查看系统中的所有可用铃声,并详细讲解如何选择和设置来电铃声。我们还会讨论如何创建一个简化且无bug的用户界面,以提供良好的用户体验。...
在Android系统中,选择、播放和暂停铃声是常见的功能,尤其对于个性化用户界面和多媒体应用至关重要。本文将深入探讨如何在Android应用中实现这些功能,主要涉及以下几个关键知识点: 1. **媒体库访问**: Android...
1. **铃声资源管理**:在Android中,铃声通常存储在`/res/raw`或`/media/ringtone`目录下,是可打包在应用内的音频文件。开发者可以通过`RingtoneManager`类来获取和操作可用的铃声列表。例如,`RingtoneManager.get...
首先,Android系统提供了一个方便的界面供用户管理手机的铃声。用户可以通过“设置”应用中的“声音与振动”选项来更改各种类型的铃声。然而,如果想要设置的铃声不在系统预设的列表中,就需要将自定义的音频文件...
在Android系统中,铃声设置涉及到多个层次的代码实现,包括用户界面交互、音频资源管理、系统服务调用等。以下是对"android 铃声 设置 相关 源码"这一主题的详细解析: 1. **用户界面**: - `AndroidManifest.xml`...
为了实现铃声的设置,源码会涉及到系统的音频设置API,如RingtoneManager,它允许应用设置系统默认的来电、闹钟或通知铃声。同时,源码可能包含对媒体库的更新逻辑,当用户选择新的铃声时,会更新到系统媒体库,确保...
总的来说,设置Android设备的铃声涉及到对音频文件的管理、媒体库的更新以及系统铃声设置的修改。通过理解并运用这些知识点,开发者可以创建一个功能完善的自定义铃声设置功能,为用户提供更丰富的体验。
总结来说,这篇“Android试手——Dota铃声”教程涵盖了Android应用中处理音频资源的基本步骤,包括资源管理、音频播放以及设置系统铃声的方法。通过这个实例,开发者不仅可以学习到Android多媒体编程的技巧,还能...
"Android中notification通知的Demo——震动,铃声,Led灯闪烁"这个主题主要涉及如何创建具有特殊反馈效果的通知,如震动、铃声和Led灯闪烁。以下是对这些知识点的详细解释: 1. **Notification的创建**: 创建一个...
在智能手机的世界里,个性化设置是用户...总结来说,获取手机所有铃声涉及Android的媒体库操作、权限管理以及音频播放和设置。开发者需要对Android系统结构和API有深入的理解,才能提供一个用户友好的铃声管理功能。
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客...
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客...
- **RingtoneManager**:可能用于播放来电铃声,或者处理其他与声音相关的功能。 - **AudioManager**:控制音量和音频焦点,确保通话过程中的音频体验。 7. **线程管理**: - **AsyncTask**或`Handler/Looper`:...
6. **多媒体处理**:为了播放闹钟铃声,开发者需要了解如何访问和控制Android的音频系统,可能涉及MediaPlayer或RingtoneManager类。 7. **权限管理**:在Android中,应用需要获取特定的权限才能访问硬件(如震动器...
4. **权限管理**:应用如果需要播放提示音,需要在AndroidManifest.xml中声明`android.permission.WRITE_SETTINGS`权限,以修改系统设置,或者`android.permission.MODIFY_AUDIO_SETTINGS`权限,以控制音频输出。...
通过`RingtoneManager`和`MediaStore.Audio.Media`类,可以更改设备的默认来电铃声。 14. 开机自启动 注册BroadcastReceiver监听`ACTION_BOOT_COMPLETED`广播,可在设备启动完成后执行特定任务。 15. 线程与子线程...
8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客...
然后,关于拦截后的提示音,Android允许自定义铃声。你可以通过`RingtoneManager`来设置。首先,你需要在应用的资源文件夹下放入提示音文件,例如`res/raw`目录。然后,获取提示音的Uri,并用`RingtoneManager`播放...