调用系统铃声设置

1.调用系统铃声设置的Intent,界面上会弹出选择铃声的对话框。

//用于选择铃声后作相应的判断标记
private static final int REQUEST_CODE_PICK_RINGTONE = 1;
//保存铃声的Uri的字符串形式
private String mRingtoneUri = null;

private void doPickRingtone() {
	Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
	// Allow user to pick 'Default'
	intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
	// Show only ringtones
	intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
			RingtoneManager.TYPE_RINGTONE);
	// Don't show 'Silent'
	intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);

	Uri ringtoneUri;
	if (mRingtoneUri != null) {
		ringtoneUri = Uri.parse(mRingtoneUri);
	} else {
		// Otherwise pick default ringtone Uri so that something is
		// selected.
		ringtoneUri = RingtoneManager
				.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
	}

	// Put checkmark next to the current ringtone for this contact
	intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
			ringtoneUri);

	// Launch!
	// startActivityForResult(intent, REQUEST_CODE_PICK_RINGTONE);
	startActivityForResult(intent, REQUEST_CODE_PICK_RINGTONE);
}

2.选择铃声之后作相应的处理,可以存储到数据库。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
	if (resultCode != Activity.RESULT_OK) {
		return;
	}

	switch (requestCode) {
	case REQUEST_CODE_PICK_RINGTONE: {
		Uri pickedUri = data
				.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
		handleRingtonePicked(pickedUri);
		break;
	}
	}
}

private void handleRingtonePicked(Uri pickedUri) {
	if (pickedUri == null || RingtoneManager.isDefault(pickedUri)) {
		mRingtoneUri = null;
	} else {
		mRingtoneUri = pickedUri.toString();
	}
	// get ringtone name and you can save mRingtoneUri for database.
	if (mRingtoneUri != null) {
		rintoneNameView.setText(RingtoneManager
				.getRingtone(this, pickedUri).getTitle(this));
	} else {
		rintoneNameView.setText(getString(R.string.default_ringtone));
	}
	// ContentValues values = new ContentValues();
	// values.put(Contacts.CUSTOM_RINGTONE, mRingtoneUri);
	// //mContactId mean contacts id
	// getContentResolver().update(Contacts.CONTENT_URI, values,
	// Contacts._ID + " = " + mContactId, null);
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值