5

我真的需要帮助来解决这个问题:

我正在开发一个应用程序,以使用蓝牙将文件从我的应用程序传输到其他手机。当我想传输图像文件时,我的部分代码如下:

     intent.setType("image/*");
     i.putExtra(i.EXTRA_STREAM, uri);
     //here uri has the URI of the image that I want to send.

android清单文件如下:

 <intent-filter>
            
       <action android:name="android.intent.action.MAIN"

       <category android:name="android.intent.category.LAUNCHER" />
       <category android:name="android.intent.category.BROWSABLE" />
                    
       <data android:scheme="file" />
       <data android:mimeType="image/*" />
       <data android:host="*" />
            
            
 </intent-filter>

代码运行良好。现在我的问题是:同样我想发送一个由以下行创建的文件:

   f = File.createTempFile("card", ".XCard", getExternalCacheDir());

该文件的名称将是这样的:

   card12434247.Xcard

现在我在上面发布的代码中需要进行哪些修改?我应该如何在意图过滤器中编写 mimeType?

应该是什么线:

  intent.setType(...)?

我应该如何修改它以便蓝牙能够处理这个文件

  xyz.Xcard ??

我应该如何声明通过蓝牙发送文件所需的自定义 mime 类型?

4

1 回答 1

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"));
于 2013-07-28T21:33:31.100 回答