如何使用Android默认音乐播放器作为意图获取资产路径文件?

时间:2015-02-15 15:02:45

标签: android android-assets android-music-player

当我使用默认音乐播放器作为意图时,我从资产文件夹获取地址时遇到了一个非常大的问题! 这是我的代码:

Uri path = Uri.parse("file:///android_asset/file.mp3");
String newPath = path.toString();
Intent intent = new Intent();  
intent.setAction(android.content.Intent.ACTION_VIEW);  
File file = new File(newPath);  
intent.setDataAndType(Uri.fromFile(file), "audio/*"); 
startActivity(intent);

应用程序在我的设备上工作正常但是当我想运行意图时,一个TOAST只是说: “无法找到项目” 我该怎么办?

1 个答案:

答案 0 :(得分:1)

第三方应用无法回复file:///android_asset Uri个值,因为他们会尝试从他们的应用中提取该资产,而不是您的应用,并且他们没有该资产

您可以将资产复制到内部存储,并将其提供给第三方应用using FileProvider。或者,I have a StreamProvider执行相同的操作,但直接从资产区域提供数据,避免本地文件复制。