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

时间:2015-05-18 05:38:56

标签: java android android-intent bluetooth

我正在尝试使用蓝牙共享文件的意图,但我不知道为什么它会向我显示toast"无法打开文件进行共享"我已经在不同的文件上尝试了它,但它也是这样做的,我正在分享我在清单中使用的代码和权限......

    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" />

2 个答案:

答案 0 :(得分:3)

试试这个

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

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

答案 1 :(得分:2)

如果图片在图片文件夹中,那么路径将是这样的

String sharePath = Environment.getExternalStoragePublicDirectory
        (Environment.DIRECTORY_PICTURES) + "/Aaa.jpg"