历史:
我从网络服务器下载铃声,如果安装了 SD 卡,我将该文件保存到 SD 卡路径,例如 mnt/sdcard/.my_folder_name/abc.mp3 ELSE 使用 context.getFilesDir() 保存到内部存储器,例如数据/数据/my.package.name/abc.mp3
问题:
我在通知栏中触发 Android 通知,通知工作正常,但是当我从内部存储器设置通知声音 URI 时出现问题,它不播放声音。
在外部存储的情况下,工作正常和声音播放
ringtoneUri = Uri.parse("file:///mnt/sdcard/.my_folder_name/abc.mp3");
notification.sound = ringtoneUri;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.audioStreamType = AudioManager.STREAM_NOTIFICATION;
notificationManager.notify(1, notification);
在内部存储的情况下,不播放声音我检查了文件,它存在那里
ringtoneUri = Uri.parse(context.getFilesDir().getPath()+"/abc.mp3");
// 数据/数据/my.package.name/files/abc.mp3
notification.sound = ringtoneUri;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.audioStreamType = AudioManager.STREAM_NOTIFICATION;
notificationManager.notify(1, notification);
难道我做错了什么???
问候,