5

I am working on an android application that will transfer multiple image files to another mobile device through bluetooth connection.

I have used following transfer method in 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);

This methos successfully transfered the files.But i have only nine images on android phone and then my application will go for another set of 9 images to be transfered,for that i have to call the above chooser wizard to send the files. But i don’t want user to select option from chooser again n again.

Is there any way to send files through that option(bluetooth from wizard) silently(without user intervention) ?

4

2 回答 2

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); 
于 2012-12-18T10:33:22.677 回答
1

这对我有用:

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

一个月前有人问过,所以不知道它对你有多相关,但可能对其他人有帮助。:)

于 2012-10-08T20:17:02.283 回答