Android如何使用FileProvider从相机捕获图片并保存在根目录中
创始人
2024-10-09 22:34:48
0次
  1. 在AndroidManifest.xml文件中添加FileProvider,设置authorities属性和对应的paths。

   

  1. 创建一个xml文件provider_paths.xml,定义要共享的文件路径。在此示例中,我们要分享应用程序的根目录。

   

  1. 在MainActivity.java中,先检查权限,然后定义一个临时文件以及一个FileProvider URI。通过Intent启动相机应用程序,并将URI传递给它。收到相机应用程序返回的result后,将图像保存到获得的URI中,并使用ContentResolver通知媒体库更新。注意,我们使用FileProvider.getUriForFile()方法获取此URI。
// 检查权限
String[] permissions = new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE};
boolean hasPermission = true;
for (String permission : permissions) {
   if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {
       hasPermission = false;
       break;
   }
}
if (!hasPermission) {
   ActivityCompat.requestPermissions(this, permissions, 1);
   return;
}

// 定义一个临时文件和URI
File photoFile = null;
try {
   photoFile = new File(getExternalFilesDir(null), "temp.jpg");
   photoFile.createNewFile();
} catch (IOException e) {
   e.printStackTrace();
}
Uri photoURI = FileProvider.getUriForFile(this, "com.example.myapp.fileprovider", photoFile);

// 打开相机应用程序并传递URI
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePicture

相关内容

热门资讯

科普攻略透视挂!久久大厅辅助透... 科普攻略透视挂!久久大厅辅助透视挂,中至常熟麻将真的有外挂,一贯有人有挂1、金币登录送、破产送、升级...
迎来新发展透视挂!寓教娱乐辅助... 迎来新发展透视挂!寓教娱乐辅助透视挂,天天温岭麻将存在有外挂,切实有挂透明挂1、实时寓教娱乐透视辅助...
技巧知识分享透视挂!哥哥斗地主... 技巧知识分享透视挂!哥哥斗地主辅助透视挂,都城麻将真的有外挂,果然有挂头条1、打开软件启动之后找到中...
热点推荐透视挂!极速暗宝辅助透... 热点推荐透视挂!极速暗宝辅助透视挂,开心廉江麻将是真的有外挂,都是有挂规律1)极速暗宝辅助插件:进一...
大神推荐开挂!随意玩辅助透视挂... 大神推荐开挂!随意玩辅助透视挂,灵飞承德麻将确实有外挂,真是有挂攻略暗藏猫腻,小编详细说明随意玩破解...
我来教大家辅助!云海辅助透视挂... 我来教大家辅助!云海辅助透视挂,原味麻将真的是有外挂,真是有挂攻略;1、在云海插件功能辅助器技巧中,...
据目击者称开挂!大胜跑得快辅助... 据目击者称开挂!大胜跑得快辅助透视挂,新上游真的有外挂,果然有挂方法1、大胜跑得快辅助软件下载优化,...
这一问题亟待解决开挂!追忆辅助... 这一问题亟待解决开挂!追忆辅助透视挂,土豆棋牌真的是有外挂,原来有挂存在1、全新机制【追忆ai辅助工...
每日必看教程辅助!同城游红十辅... 每日必看教程辅助!同城游红十辅助透视挂,中至常熟麻将真的是有外挂,都是有挂功能同城游红十破解侠是真的...
科技新动态透视挂!决胜奕福辅助... 科技新动态透视挂!决胜奕福辅助透视挂,happyworkbook存在有外挂,竟然果真有挂1、该软件可...