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



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

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只会说:"找不到项目"我该怎么办?

第三方应用程序无法响应file:///android_asset Uri值,因为他们将尝试从他们的应用程序(而不是您的)中提取该资产,并且他们没有该资产。

您可以使用FileProvider将资产复制到内部存储,并将其提供给第三方应用程序。或者,我有一个StreamProvider,它做同样的事情,但直接从资产区域提供数据,避免了本地文件副本。

最新更新