我正在开发一个超过50mb的Android应用程序,所以经过研究后,我会提供一个扩展文件。
我遇到的问题在于我的视频观看。扩展文件包含所有必需的视频,而我无法获取这些视频的路径。
之前,我正在使用此代码:
String uriPath = "android.resource://com.package.acerp/"+ videoName;
mVideoView.setVideoURI(uriPath);
此代码工作正常,但现在,我无法从我的扩展文件中读取。我这样做:
CONTENT_URI = Uri.parse("content://com.package.provider.ZipContentProvider");
Uri uriPath = Uri.parse((CONTENT_URI + "/" + videoName + ".mp4"));
mVideoView.setVideoURI(uriPath);
Wich返回我的fileNotFound ... 我也创建了这个类:
public class ZipContentProvider extends APEZProvider {
private static final String AUTHORITY = "com.package.provider";
public static Uri buildUri(String pathIntoApk) {
StringBuilder contentPath = new StringBuilder("content://");
contentPath.append(AUTHORITY);
contentPath.append(File.separator);
contentPath.append(pathIntoApk);
return Uri.parse(contentPath.toString());
}
@Override
public String getAuthority() {
return AUTHORITY;
}
}
并在我的清单文件中添加一些信息:
<provider
android:name="com.package.ZipContentProvider"
android:authorities="com.package.provider"
android:exported="true" />
我错过了什么?感谢...