【发布时间】:2016-01-04 00:48:17
【问题描述】:
我正在分享一张图片,此代码适用于 Android 6 之前的设备:
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
Uri uri = Uri.fromFile(new File(mFilename));
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
mContext.startActivity(Intent.createChooser(shareIntent, mChooserTitle));
但是,当我尝试使用 Android 6 进行共享时,我收到了 toast 错误“无法附加空文件”。
我已验证文件存在且长度不为零。
谁有解决办法?
【问题讨论】:
-
你是在选择器之前还是之后得到这个
Toast?如果之后,您选择了哪个应用程序?另外,mFilename到底指向哪里? -
在选择器之后,我尝试的每个应用都会发生这种情况。至少使用 Gmail 和环聊。
-
您自己运行过 Gmail 和环聊吗?如果没有,他们将无法访问外部存储,直到您(用户)通过他们的运行时权限请求逻辑。
-
是的!你说的对!!!!!!!!!!!!!!!!!!!!!!!!我启用了Gmail的外部存储权限,现在可以了!!!!!!
-
虽然在我尝试分享时 Gmail 不请求许可对我来说似乎很愚蠢
标签: android android-intent share android-6.0-marshmallow