以编程方式在android中使用蓝牙发送多个文件

时间:2012-09-07 06:07:50

标签: android bluetooth data-transfer

我正在开发一个Android应用程序,它将通过蓝牙连接将多个图像文件传输到另一个移动设备。

我在android中使用了以下传输方法:

ArrayList<Uri> uris=new ArrayList<Uri>();
String multifile[]={"/sdcard/aaa.txt","/sdcard/bbb.txt","/sdcard/ccc.txt"};
int len=multifile.length;
Intent Int=new Intent();
Int.setAction(android.content.Intent.ACTION_SEND_MULTIPLE);
Int.setType("*/*");
for(int i=0;i<len;i++)
{
File file=new File(multifile[i]);
uris.add(Uri.fromFile(file));
}
Int.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivity(Int);

这个方法成功地传输了文件。但是我在Android手机上只有9个图像,然后我的应用程序将转移另一组9个图像进行传输,因为我必须调用上面的选择器向导来发送文件。 但我不希望用户再次从选择器中选择选项。

有没有办法通过该选项(向导中的蓝牙)静默发送文件(无需用户干预)?

2 个答案:

答案 0 :(得分:1)

这对我有用:

而不是putParcelableArrayListExtra使用putExtra(Intent.EXTRA_STREAM, uris)

有人在一个月前被问过,所以不知道它对你有多大关系,但可能对别人有帮助。 :)

答案 1 :(得分:1)

ArrayList<Uri> uris = new ArrayList<Uri>();
        mul = fileSelectorList;
         Log.d("final",""+mul);
        int length = mul.size();

        //Toast.makeText(ImageActivity.this, "Send", Toast.LENGTH_LONG).show();
        //mail_int.setAction(android.content.Intent.ACTION_VIEW);
        mail_int.setAction(android.content.Intent.ACTION_SEND_MULTIPLE);
    //mail_int.setAction(android.content.Intent.ACTION_TIME_CHANGED);
        mail_int.setType("image/*");
        for(int i = 0; i < length; i++) {
            File file = new File(mul.get(i));
            uris.add(Uri.fromFile(file));

        }

        mail_int.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
        startActivity(mail_int);