gpt4 book ai didi

android - 如何将我的应用程序的通知声音添加到通知声音列表?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:44:07 24 4
gpt4 key购买 nike

我希望用户能够为我的应用选择通知声音,因此我使用以下代码:

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 Hangouts、日历和 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);

关于android - 如何将我的应用程序的通知声音添加到通知声音列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28681003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com