Android RingtoneManager铃声管理

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
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;
     }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<? 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 >
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<? 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 >


本文转自java豆子博客园博客,原文链接:http://www.cnblogs.com/error404/archive/2011/08/04/2127233.html,如需转载请自行联系原作者
相关文章
|
8天前
|
数据采集 小程序 数据可视化
智慧校园电子班牌管理系统源码 Java Android原生
家长通过家长小程序端随时了解孩子在校的情况,实时接收学生的出勤情况,学生到校、离校时间。随时了解学生在校的表现、学生成绩排名,及时与教师沟通,关注孩子的健康成长。
38 0
智慧校园电子班牌管理系统源码 Java Android原生
|
6月前
|
Java 关系型数据库 MySQL
0002Java安卓程序设计-基于Uniapp+springboot菜谱美食饮食健康管理App2
0002Java安卓程序设计-基于Uniapp+springboot菜谱美食饮食健康管理App
37 0
|
8天前
|
API Apache Android开发
对于Android的http请求的容错管理
对于Android的http请求的容错管理
10 1
|
8天前
|
Java Android开发
Android OTG U盘无法显示在系统文件管理的修改
Android OTG U盘无法显示在系统文件管理的修改
11 0
|
8天前
|
存储 开发工具 Android开发
Android系统 权限组管理和兼容性
Android系统 权限组管理和兼容性
23 0
|
8天前
|
数据采集 小程序 数据可视化
Java Android原生智慧校园管理系统源码
对班牌的考试模式、班牌模式上课模式进行设置及管理,设置成功后,班牌端将同步应用。
27 0
|
6月前
|
Android开发
0002Java安卓程序设计-基于Uniapp+springboot菜谱美食饮食健康管理App1
0002Java安卓程序设计-基于Uniapp+springboot菜谱美食饮食健康管理App
63 0
|
8天前
|
Shell 开发工具 Android开发
ADB 下载、安装及使用教程:让你更好地管理 Android 设备
ADB 下载、安装及使用教程:让你更好地管理 Android 设备
631 2
|
7月前
|
存储 安全 Java
Android DataStore:安全存储和轻松管理数据
Android DataStore:安全存储和轻松管理数据
|
8天前
|
小程序 Java 数据挖掘
Java校园智慧管理云平台源码 小程序+android电子班牌系统
智慧校园技术架构 ❀后端:Java ❀框架:springboot ❀前端页面:vue +element-ui ❀小程序:小程序原生开发 ❀电子班牌:Java Android
45 0