我正在开发一个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个图像进行传输,因为我必须调用上面的选择器向导来发送文件。 但我不希望用户再次从选择器中选择选项。
有没有办法通过该选项(向导中的蓝牙)静默发送文件(无需用户干预)?
答案 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);