选择歌曲/铃声意图

时间:2013-12-30 14:09:41

标签: android

我要做的是创建像应用程序一样的警报。 主编码完成。 目前它播放的歌曲在我的apk(原始文件夹)中添加。

我想添加一个功能,用户可以选择他/她自己的歌曲作为闹钟声音。它可以是SD卡中的文件,内部或来自Android提供的曲调的铃声。

我正在使用MediaPlayer播放声音。

1 个答案:

答案 0 :(得分:4)

这是一个标记为“set ringtone”或类似内容的按钮的onClick处理程序:

Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, (Uri) null);
this.startActivityForResult(intent, 5);

此代码捕获用户做出的选择:

 @Override
 protected void onActivityResult(final int requestCode, final int resultCode, final Intent intent)
 {
     if (resultCode == Activity.RESULT_OK && requestCode == 5)
     {
          Uri uri = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);

          if (uri != null)
          {
              this.chosenRingtone = uri.toString();
          }
          else
          {
              this.chosenRingtone = null;
          }
      }            
  }

另外,我建议我的用户从Android电子市场安装“Rings Extended”应用程序。然后,无论何时在他们的设备上打开此对话框,例如从我的应用程序或手机的设置菜单,用户都可以选择选择存储在其设备上的任何mp3,而不仅仅是内置的铃声。