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

oO桀骜 2012-05-11 05:47:43
题目说的可能不清楚 传图来说我想在我的软件里面加入音效,决定调用系统的音效,调用截图



我在选择了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();
}
}

请问 怎么解决?打了这么多字 分也这么高 帮帮忙啊,其实我感觉应该不难 应该是设置个默认参数什么的 可是我新手 不会啊 求教!!!!!!!!!!
...全文
757 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
敢冲才会赢 2014-10-15
  • 打赏
  • 举报
回复
你好 楼主 你的问题我今天也碰到了,纠结了半天 原谅我是一名新手 ,能否发一份demo给啊 15072627481@163.com
oO桀骜 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
if (pickedUri != null) {
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, pickedUri);
}
[/Quote]


谢谢你,解决啦~
oO桀骜 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
1、定义一个全局对像
private Uri myUri = null;

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

3、在startActivityForResul……
[/Quote]


解决啦,太感谢了,还写的这么详细,要是多有你这样乐于助人的人该多好啊,谢谢了前辈~
AMinfo 2012-05-11
  • 打赏
  • 举报
回复
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);
}



AMinfo 2012-05-11
  • 打赏
  • 举报
回复
在startActivityForResult(intent,0);前面增加一个试试看:
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI,"你当前的URI");
aSysBang 2012-05-11
  • 打赏
  • 举报
回复
if (pickedUri != null) {
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, pickedUri);
}
oO桀骜 2012-05-11
  • 打赏
  • 举报
回复
图太大 可能右边显示不到,麻烦大家右键看一下 跪谢了 弄了一下午 弄不出来。。。。
一个书中的Android编程范例,Android 日程管理专家 APP源码,主要功能有:添加日程、日程管理、日程搜索、功能设置等。创建新日程时的临时数据,只需要年月日三个数据,用来在刚刚进入新建日程界面日把年月日默认设置成当前日期:   final static int DIALOG_SET_SEARCH_RANGE=1;//设置搜索日期范围对话框   final static int DIALOG_SET_DATETIME=2;//设置日期时间对话框   final static int DIALOG_SCH_DEL_CONFIRM=3;//日程删除确认   final static int DIALOG_CHECK=4;//查看日程   final static int DIALOG_ALL_DEL_CONFIRM=5;//删除全部过期日程   final static int DIALOG_ABOUT=6;//关于对话框   final static int MENU_HELP=1;//菜单帮助   final static int MENU_ABOUT=2;//菜单关于   public static enum WhoCall   {//判断谁调用了dialogSetRange,以决定哪个控件该gone或者visible    SETTING_ALARM,//表示设置闹钟 按钮    SETTING_DATE,//表示设置日期按钮    SETTING_RANGE,//表示设置日程查找范围按钮    NEW,//表示新建日程按钮    EDIT,//表示修日程按钮    SEARCH_RESULT//表示查找按钮   临时记录新建日程界面里的类型spinner的position,因为设置时间的对话框cancel后回到新建日程界面时会刷新所有控件,spinner中以选中的项目也会回到默认。   String[] defultType=new String[]{"会议","备忘","待办"};//软件的三个不能删除的默认类型   Dialog dialogSetRange;//日程查找时设置日期起始范围的对话框   Dialog dialogSetDatetime;//新建或修日程时设置日期和时间的对话框   Dialog dialogSchDelConfirm;//删除日程时的确认对话框   Dialog dialogCheck;//主界面中查看日程详细内容的对话框   Dialog dialogAllDelConfirm;//删除全部过期日程时的确认对话框   Dialog dialogAbout;//关于对话框   static ArrayList alType=new ArrayList();//存储所有日程类型的arraylist   static ArrayList alSch=new ArrayList();//存储所有schedule对象的ArrayList   Schedule schTemp;//临时的schedule   ArrayList alSelectedType=new ArrayList();//记录查找界面中类型前面checkbox状态的   String rangeFrom=getNowDateString();//查找日程时设置的起始日期,默认当前日期   String rangeTo=rangeFrom;//查找日程时设置的终止日期,默认当前日期   Layout curr=null;//记录当前界面的枚举类型   WhoCall wcSetTimeOrAlarm;//用来判断调用时间日期对话框的按钮是设置时间还是设置闹钟,以便更对话框中的一些控件该设置为visible还是gone。。

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧