错误:E / FileSource:无法打开文件'android.resource:/com.android.grafika/2130968577'。 (没有这样的文件或目录)
String vidAddress = "android.resource://"+getPackageName()+"/"+R.raw.b_right;
Uri vidUri = Uri.parse(vidAddress);
File sliders = new File(vidUri.toString());
Log.d("File",sliders.toString());
如何解决?根本原因是什么?我的意思是这个代码片段出了什么问题?
答案 0 :(得分:1)
问题是您构建的文件路径不存在。
要打开原始资源,请使用openRawResource()。例如:
InputStream stream = getContext().getResources().openRawResource( R.raw.b_right );
答案 1 :(得分:0)
我的意思是这段代码有什么问题?
首先,将Uri
的字符串表示传递给File
构造函数将永远不会起作用。 Uri
有一个方案; File
构造函数不知道如何处理该方案。
其次,android.resource
方案适用于Android资源。虽然资源是开发人员计算机上的文件,但它们是Android设备上的不是文件,并且无法由File
对象表示。
如何解决?
请勿尝试通过File
对象访问资源。
例如,您可以在Resources
对象上call openRawResource()
获取原始资源上的InputStream
,并给定资源ID。
答案 2 :(得分:0)
final String uriPath =" android.resource://" + getPackageName()+" / raw / texivedio";