android - 改变手机铃声安卓

标签 android android-mediaplayer ringtone

我的 SD 卡上有一个 mp3 文件“a.mp3”。我想将其设置为我的手机铃声..... 下面是我从不同答案中找到的代码,但是当我运行代码时,铃声变为无,而不是 a.mp3。请帮我。我是初学者。提前致谢。

String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/a.mp3";
    File k = new File(path, "a.mp3");

    ContentValues values = new ContentValues();
    values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
    values.put(MediaStore.MediaColumns.TITLE, "A");
    values.put(MediaStore.MediaColumns.SIZE, 210341);
    values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mpeg");
    values.put(MediaStore.Audio.Media.ARTIST, "");
    values.put(MediaStore.Audio.Media.DURATION, 230);
    values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
    values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
    values.put(MediaStore.Audio.Media.IS_ALARM, false);
    values.put(MediaStore.Audio.Media.IS_MUSIC, false);

    // Insert it into the database
    Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
    Uri newUri = this.getContentResolver().insert(uri, values);

    RingtoneManager.setActualDefaultRingtoneUri(FirstActivity.this, RingtoneManager.TYPE_RINGTONE, newUri);

另外如果我想让用户选择另一个铃声,我应该怎么做?我想启动一个 Intent(它将打开文件资源管理器),然后我将获取该声音文件的路径。我将把它保存在路径字符串中并继续相同的代码。请指导我如何开始这个 Intent 。

最佳答案

用于启动文件资源管理器并让用户选择您可以在 Intent- 下使用的文件-

      Intent intent = new Intent();
      intent.setAction(Intent.ACTION_GET_CONTENT);
      intent.setType("file/*");
      startActivity(intent);

查看 this关于您的铃声问题。

关于android - 改变手机铃声安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32032517/

相关文章:

android - 打开电子邮件中的链接以在应用程序而不是网站中进行确认

Android mediaplayer 单例服务不会停止播放

android - 如何让手机与铃声同步振动?

android - 如何在android中设置自定义闹钟音

android - 使用 DDMS 单步执行 KML 文件

android - 如何在用户点击列表项行时显示对话框

android - 如何自动安装 WearOS 配套应用程序和 Android 手机应用程序

android - 在其他 Activity 中传递 Mediaplayer

Android MediaPlayer Streaming YouTube 音频流意外的大声静态

android - 将选定的音频文件设置为铃声