我在Orders文件夹中的外部存储中有图像,并且我正在尝试使用intent将该图像共享到外部应用程序
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Orders");
String filename = "OrderID.jpg";
File file = new File(file,filename);
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/*");
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(file));
try {
startActivity(intent);
} catch (android.content.ActivityNotFoundException ex) {
}
我给了加载应用程序本身的存储权限,但每次应用程序崩溃时我都得到了
ndroid.os.FileUriExposedException: file:///storage/emulated/0/Orders/OrderID.jpg exposed beyond app through ClipData.Item.getUri()
有谁能帮我解决这个问题吗?我在谷歌上关注了很多帖子,但是没有用
https://github.com/mlsdev/rximagepicker/issues/13
要将文件共享到其他应用程序时,必须使用FileProvider。
查看https://developer.android.com/training/secure-file-sharing/setup-sharing。
在代码中使用FileProvider.GetUriforFile获取Uri,而不是Uri.fromFile(file)
。
FileProvider.getUriForFile(this,"your_package.fileprovider",photoFile);
我在尝试构建APK时遇到以下错误。我读过几篇关于如何解决这个问题的帖子,但由于我没有开发那么长时间,我不确定我在做什么。所以,希望有人能帮忙。 这是我的build.gradle(模块) 这是我的身材。格拉德尔项目 如果有人能帮忙,我将不胜感激,但我也没有经验。
我有这段代码来连接服务器和客户端,我需要将json对象发送到android studio客户端,但是printwriter行中描述的方法有错误,我不知道问题出在哪里,请查看代码并帮助我 还有这个 错误是 我在通过套接字将数据写入客户端时出错,错误在getOutputStream中
谢谢! 我的build.gradle看起来如下(不包括一般的其他东西)... 依赖项{compile fileTree(include:['*.jar'],dir:'libs')} 错误:类org.apache.xmlbeans.xml.Stream.Location已添加到输出中。请删除重复的副本。编译器不以现代.class文件格式为目标。推荐的(org.apache.log4j.chainsa
JAVA_HOME设置为无效目录:C:\Program Files\JAVA\jdk1.8.0_281\bin 请在您的环境中设置JAVA_HOME变量,以匹配您的JAVA安装位置。 如何解决这个问题??
我正在尝试使用SQLite数据库在android中本地存储电子邮件。当我第一次调用,该数据库尚不存在,已创建。我在create语句中遇到语法错误。。。我的代码看起来像这样。。。 我不熟悉SQLite语法,我一直在寻找导致这种情况的原因,但没有任何结果。知道是什么引起的吗?数据库确实是本地存储此类数据的最佳方式。 准确的错误如下所示。。