java - 无法从外部存储打开文件以通过蓝牙共享

标签 java android android-intent bluetooth

我正在尝试使用 Intent 通过蓝牙共享文件,但我不知道为什么它向我显示“无法打开文件进行共享”,我也在不同的文件上尝试过,但效果相同,我正在分享我在 list 中使用的代码和权限...

    String sharePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Aaa.jpg";
    Uri uri = Uri.parse(sharePath);
    Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("image/*");
    share.putExtra(Intent.EXTRA_STREAM, uri);
    startActivity(Intent.createChooser(share, "Share Sound File"));

到目前为止我已添加的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

最佳答案

试试这个

File sourceFile = new File("//mnt/sdcard/TviderFB.apk"); 
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
Intent.setType("image/jpeg"); 
intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(sourceFile));
startActivity(intent);

或者 仔细阅读并实现此 How to send file using bluetooth on android programatically?

或阅读本教程以通过蓝牙分享 http://kpbird.blogspot.in/2011/04/android-send-image-via-bluetooth.html

并且不要忘记在 list 中声明权限

关于java - 无法从外部存储打开文件以通过蓝牙共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30295796/

相关文章:

java - 使用 AtlasMap 将 xml 转换为 json

android - Kotlin Map 项目列表流

java - 使用 FragmentTabHost 时出现 ClassCastException

java - 如何将有界泛型类型与流和单个对象一起使用

java - 使用 <s : iterator> tag 附加静态值

android - Firebase 电话号码身份验证失败

java - 获取特定应用程序的所有服务列表(来自 list )

java - 如何在android中开始新的 Activity

java - 如何解决Intent引起的空指针异常

java - 如何在将 GsonJsonObjectReader 与 MultiResourceItemReader 一起使用时设置委托(delegate)