android - 使用android默认闹钟声音列表

标签 android alarmmanager alarm android-alarms

我想为Android开发一个闹钟应用程序,我想使用Android的默认闹钟声音列表,并让用户在新对话中从列表中选择闹钟声音。我可以使用以下代码使用默认警报声音:

Uri alarm = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
        MediaPlayer mp = MediaPlayer.create(getApplicationContext(), alarm);
        mp.start();

最佳答案

请尝试一下

public void getRingtones( )
 {
   RingtoneManager ringtoneMgr = new RingtoneManager(this);
   ringtoneMgr.setType(RingtoneManager.TYPE_ALL);
   Cursor alarmsCursor = ringtoneMgr.getCursor();
   int alarmsCount = alarmsCursor.getCount();
   if (alarmsCount == 0 && !alarmsCursor.moveToFirst())
   {
   } 
   else 
   {
   ringtonesStrings = new String[alarmsCount];
   ringtonesUris = new String[alarmsCount];
   while(!alarmsCursor.isAfterLast() && alarmsCursor.moveToNext()) {
   int currentPosition = alarmsCursor.getPosition();
   rintonesStrings[currentPosition] =  ringtoneMgr.getRingtone(currentPosition).getTitle(getApplicationContext());
  ringtonesUris[currentPosition] =   ringtoneMgr.getRingtoneUri(currentPosition).toString();

  }
//alarmsCursor.close();

 }

}

关于android - 使用android默认闹钟声音列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23028128/

相关文章:

android - 弄清楚警报管理器

android - 如何在 Unity 中制作二维动画

android - CustomArrayAdapter 实现 :Unable to get the resource id

java - 用户为 Android 应用程序设置首选通知音

android - 警报管理器或服务

ios - 当应用程序处于终止状态而无需用户交互时,如何清除本地通知。

android - BottomNavigationView 再次可见后未显示

android - 从 Wifi 到 3G 的不同 SMTP 端口

android - AlarmManager 的更新时间 (Android)

iphone - 暂停本地通知