android 调用默认铃声后怎么改起始的默认选择位置?

============问题描述============


题目说的可能不清楚  传图来说我想在我的软件里面加入音效,决定调用系统的音效,调用截图



我在选择了bubbles音乐后点确定,在左下角音效那显示出了是bubbles  如图



当再次点击音效按钮想换音乐时,界面是这样的  重点来了,  他默认的选项位置是  静音  ,其实存储的数据里还是bubbles但是就是调用这个系统音效时他还是默认显示静音  如下图



蛋疼的事就是这个  我想让他打开时是这个效果  如图   而不是显示在静音哪里



其实就是想实现和手机上设置铃声那个一样,你设置铃声后 下次想换铃声了点设置铃声肯定默认显示的选的肯定是你手机里上次设定的音乐位置  像下图




我能得到选择的bubbls这个音乐的uri   请问  该怎么设置第二次选择音效时能让他和上图一样不是在静音位置呢?我想我意思应该表达清楚了吧?

选择音效按钮时触发的函数

@Override

	protected void onChooseSound() {

		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,0);

	}



处理函数

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

try{

				Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);

				MusicUrl = pickedUri.toString();

			//	Toast.makeText(this, pickedUri.toString(),Toast.LENGTH_LONG).show();

				mChooseSound.setText(FavoriteFileHandle.getInstance().getFavSoundID(this,MusicUrl));

				

			}catch (Exception e){

				e.printStackTrace();

			}

}


请问 怎么解决?打了这么多字  分也这么高 帮帮忙啊,其实我感觉应该不难 应该是设置个默认参数什么的 可是我新手 不会啊  求教!!!!!!!!!!

============解决方案1============


if (pickedUri != null) {
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, pickedUri);
}

============解决方案2============


1、定义一个全局对像
private Uri myUri = null;

2、在onActivityResult里面的Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);后面增加一句
myUri = pickedUri;

3、在startActivityForResult(intent,0);前面增加一段:
if(myUri != null)
{
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, myUri);
}



posted @ 2014-10-17 10:22  android开发难学吗  阅读(588)  评论(0)    收藏  举报
我要啦免费统计