所以我已经编写了一些使用URI的脚本。 但是,有很多抱怨称该功能在小米/ Redmi /华为中不起作用。此编码经过了测试,并且可以在模拟器中正常运行。 Get filename and path from URI from mediastore No response on full screen activity (different android version?)
那么有人对此有任何建议/解决方法吗? 解决方法1:使用资产文件夹(已尝试使用图片文件夹,但大多数情况下都可以使用,但不适用于视频文件。)
到目前为止,我将代码范围缩小到
videoUri = Uri.parse("android.resource://" + getPackageName() + "/raw/" + filename);
以上仅适用于仿真器,不适用于小米/华为
我们该怎么办?
videoUri = Uri.parse("android.resource://" + getPackageName() + R.raw.filename);
以上内容在模拟器和真实手机中均能很好地工作。
有人对此有任何想法吗?
尝试1
How to read file from res/raw by name
int videoID = getResources().getIdentifier("filename","raw", getPackageName());
videoUri = Uri.parse("android.resource://" + getPackageName() + "/" +
videoID);
结果:使用模拟器,但仍无法使用Redmi Note 2
答案 0 :(得分:0)
您需要使用以下路径:
"android.resource://" + getPackageName() + "/" + R.raw.filename;
文件应存储在 res / raw / filename 下,并且应为 .mp4 类型。
我已经在Redmi note 3和Redmi 3s Prime手机上对此进行了测试。
编辑
videoUri = Uri.parse("android.resource://"+getPackageName()+"/raw/"+"crop");
我已经在提到的Redmi设备上对此进行了测试,并且可以正常工作。