Intent ringtoneIntent = new Intent(ringtoneManager.ACTION_ringtone_PICKER);
ringtoneIntent.putExtra(ringtoneManager.EXTRA_ringtone_SHOW_DEFAULT,false);
ringtoneIntent.putExtra(ringtoneManager.EXTRA_ringtone_SHOW_SILENT,false);
ringtoneIntent.putExtra(ringtoneManager.EXTRA_ringtone_TYPE,ringtoneManager.TYPE_NOTIFICATION);
ringtoneIntent.putExtra(ringtoneManager.EXTRA_ringtone_TITLE,"Choose");
ringtoneIntent.putExtra(ringtoneManager.EXTRA_ringtone_EXISTING_URI,(Uri) null);
fragment.startActivityForResult(ringtoneIntent,REQUEST_ringtone);
不幸的是,我的应用程序自己的通知声音不在列表中. Google环聊,日历和Facebook都在列表中.我假设这些程序已经做了一些注册android,但我找不到任何关于如何做到这一点的文档.
最佳答案
首先将文件复制到rigntones文件夹(请参阅Environment.DIRECTORY_ringtoneS)
然后注册声音:
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA,file.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE,nameOfSound);
values.put(MediaStore.MediaColumns.MIME_TYPE,"audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST,yourAppName);
values.put(MediaStore.Audio.Media.IS_ringtone,true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION,true);
values.put(MediaStore.Audio.Media.IS_ALARM,true);
values.put(MediaStore.Audio.Media.IS_MUSIC,false);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath());
getContentResolver().insert(uri,values);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。