蓝牙文件未发送错误

时间:2013-05-07 07:27:10

标签: android file bluetooth

我正在尝试从Android手机上的应用程序向其他设备发送文件(它们可能是也可能不是Android手机)。

我发送文件的完整代码是:

try{
            File dir = getCacheDir();
            File f;
            try {
                f = File.createTempFile("card", ".Xcard", dir);

                Intent i = new Intent();
                i.setAction(Intent.ACTION_SEND);
                i.setType("*/*");
                i.putExtra(i.EXTRA_STREAM, Uri.fromFile(f));
                startActivity(i);


            } catch (IOException e) {
                // TODO Auto-generated catch block
                Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();

                e.printStackTrace();
            }

            }catch(Exception e){

                Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
            }

但是我的文件没有被发送到手机? 代码有什么问题? 是因为接收电话无法识别我的“.Xcard”文件吗?

但我认为这不是问题所在 因为我尝试将“apk”文件发送到其他设备并收到它即使它不理解apk文件。 (我正在尝试使用非Android手机)。

那为什么我发送的文件没有被发送?是因为它是在Cache目录中创建的?

1 个答案:

答案 0 :(得分:0)

这对我有用:

String root = Environment.getExternalStorageDirectory().toString();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/html");
File f = new File(root + "/bluetooth/test2.html");
i.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f));
startActivity(Intent.createChooser(i, "Send page"));

区别在于在蓝牙目录中创建文件。