知是行的主意,行是知的功夫。这篇文章主要讲述[如何在Android Studio中存储用户选择的铃声? [关闭]相关的知识,希望能为你提供帮助。
关闭。这个问题是opinion-based。它当前不接受答案。 【[如何在Android Studio中存储用户选择的铃声( [关闭])】是否要改善此问题?更新问题,以便editing this post可以用事实和引用来回答。
关闭4分钟前。
public void onRingtone(View view) {
final Uri currentTone= RingtoneManager.getActualDefaultRingtoneUri(Setting.this, RingtoneManager.TYPE_ALARM);
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Ringtone");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currentTone);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
startActivityForResult(intent, 999);
}
我有这个onClick方法,可以从自己的设备中选择可用的铃声。调用startActivityForResult()方法时,它将重定向到自定义弹出对话框,用户可以从中选择铃声,并同时启动该铃声。没关系。但我想保存该铃声以在其他活动中播放。所以我该怎么做?我可以将其存储在数据库(SQLite)中,还是以SharedPreference或任何其他方式存储?
答案要保存铃声Uri,您可以使用:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("currentTone", currentTone.toString());
editor.commit();
要检索铃声Uri,您需要将字符串解析为Uri:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
String currentToneString= settings.getString("currentTone", null);
Uri currentTone= Uri.parse(currentToneString);
return currentTone;
推荐阅读
- 为什么Android Studio在编写代码时不再显示提示()
- 如何在google-apps-script上恢复已撤销的权限()
- 如何使用Automapper将更改映射到现有集合()
- 如何改变AppBar的阴影颜色()
- 元素将无法在Constraintlayout Android Studio中正确居中
- 检测Android导航栏方向
- 无法将PowerBI Desktop和PowerBI WebApp与Google Analytics连接
- 与.NET Web应用程序和.NET Mobile App共享数据库
- 如何在WinForms C#中使用LiveCharts库创建饼图