Android ContentProvider提供Assets目录下的图片或文件
Android ContentProvider 大约 1291 字提供Assets目录下文件
@Nullable
@Override
public AssetFileDescriptor openAssetFile(@NonNull Uri uri, @NonNull String mode) throws FileNotFoundException {
AssetFileDescriptor afd = null;
try {
afd = mContext.getAssets().openFd("pic/" + imageName);
} catch (IOException e) {
e.printStackTrace();
}
return afd;
}
提供指定目录下文件
@Override
public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
try {
File logoFile = LoadLogo.getLogoFile(getContext(), number);
if (logoFile != null && logoFile.exists()) {
return ParcelFileDescriptor.open(logoFile, ParcelFileDescriptor.MODE_READ_ONLY);
}
} catch (Exception e) {
e.printStackTrace();
}
throw new FileNotFoundException(uri.getPath());
}
public static File getLogoFile(Context ctx, String number) {
StringBuilder sbNumLogo = new StringBuilder(ctx.getFilesDir().getAbsolutePath());
sbNumLogo.append(File.separator);
sbNumLogo.append(LOGO_PATH);
sbNumLogo.append(File.separator);
sbNumLogo.append(PhoneNumberFormat.getFormattedNumber(number));
File numLogo = new File(sbNumLogo.toString());
if (numLogo.exists()) {
return numLogo;
}
return null;
}
阅读 508 · 发布于 2019-04-12
————        END        ————
扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
Python内置函数阅读 422
-
Nginx配置之开启状态检查阅读 542
-
Spring Boot获取resource目录下的文件阅读 590
-
Linux中使用curl代替telnet测试端口是否连通阅读 1579
-
PostgreSQL下载安装及运行阅读 1092
-
MySQL数据库设置root密码阅读 418
-
Android监听SIM卡状态阅读 1741
-
Android build.gradle更换资源文件路径阅读 420
-
走进Spring Boot之第三步SpringApplication run方法阅读 467
-
Elasticsearch can not run elasticsearch as root阅读 2452