java铃声软件_Android RingtoneManager铃声管理

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;

}

}

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_height="wrap_content" android:text="@string/hello" />

android:layout_width="fill_parent"

android:layout_height="wrap_content">

android:layout_width="fill_parent"

android:layout_height="wrap_content">

android:layout_width="fill_parent"

android:layout_height="wrap_content">

package="com.Aina.Android"

android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要更改 Android 闹钟的铃声,你需要使用 RingtoneManager 类。以下是一个示例代码,演示如何更改闹钟的铃声: ```java // 创建 RingtoneManager 实例 RingtoneManager ringtoneManager = new RingtoneManager(this); // 设置获取铃声的类型为闹钟铃声 ringtoneManager.setType(RingtoneManager.TYPE_ALARM); // 获取可用的铃声列表 Cursor cursor = ringtoneManager.getCursor(); // 遍历铃声列表并打印出每个铃声的信息 while (cursor.moveToNext()) { int ringtonePosition = cursor.getPosition(); String ringtoneTitle = cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX); String ringtoneUri = cursor.getString(RingtoneManager.URI_COLUMN_INDEX) + "/" + ringtonePosition; Log.d("Ringtone", "Title: " + ringtoneTitle + ", Uri: " + ringtoneUri); } // 选择要设置的铃声 int selectedRingtonePosition = 0; // 你可以根据需要更改选中的铃声的位置 // 获取选中铃声的 Uri cursor.moveToPosition(selectedRingtonePosition); String selectedRingtoneUri = cursor.getString(RingtoneManager.URI_COLUMN_INDEX) + "/" + selectedRingtonePosition; // 保存所选铃声的 Uri 到 SharedPreferences 或其他位置,以便日后使用 // 将所选铃声设置为闹钟的铃声 String alarmUriString = "content://settings/system/alarm_alert"; Uri alarmUri = Uri.parse(alarmUriString); RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM, alarmUri); // 提示用户更改成功 Toast.makeText(this, "闹钟铃声已更改", Toast.LENGTH_SHORT).show(); ``` 上述代码中,我们首先创建了一个 RingtoneManager 实例,并将其类型设置为 TYPE_ALARM,以获取闹钟铃声。然后,我们遍历铃声列表并打印出每个铃声的信息,以供用户选择。接下来,我们选择要设置的铃声,并获取其 Uri。你可以根据需要更改 selectedRingtonePosition 变量来选择不同的铃声。 最后,我们将所选铃声的 Uri 设置为闹钟的默认铃声,通过调用 setActualDefaultRingtoneUri() 方法实现。你可以将所选铃声的 Uri 保存到 SharedPreferences 或其他位置,以便将来使用。 请注意,根据设备和 Android 版本的不同,可能会有一些差异。此外,为了能够访问铃声列表并更改闹钟铃声,你可能需要相应的权限。 希望这能帮助到你!如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值