1

我有一Intent门课可以将多个图像作为附件发送到电子邮件。所以一切正常。唯一的问题是,当图像数量不超过 20 时,Intent 类需要时间来打开特定的邮件客户端。所以在那段时间我想向用户显示进度条。所以有人帮我解决这个问题。我发送多张图片的代码如下所示。

ArrayList<Uri> uris = new ArrayList<Uri>();

for(int i = 0; i< NoteManager.getSingletonObject().getNoteItemCount(); i++)
{
    File imageFile = new File(m_ShareDir, NoteManager.getSingletonObject().getNote(i));
    ContentValues values = new ContentValues(2);
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/png");
    values.put(MediaStore.Images.Media.DATA, imageFile.getAbsolutePath());

    Uri  imageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);  

    uris.add(imageUri);
}

Intent intent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
intent.setType("image/png");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivity(Intent.createChooser(intent, getResources().getString(R.string.share_send_text)));
4

2 回答 2

2

愿它帮助你

ProgressDialog pd = ProgressDialog.show(SetFrames.this,"Loading", "Please 

Wait...",true);
           new Thread() {
               public void run() {
               try {
                //do your process
               }catch(Exception e)
               {
               }
               handler.sendEmptyMessage(0);
               pd.dismiss();
               }

               }.start();

private Handler handler = new Handler() {
        public void handleMessage(Message msg) {

        }
        };
于 2012-09-05T07:10:12.217 回答
0

试试这个。 教程。我认为这是一个很好的例子,它会一一显示进度项。
享受...

于 2012-09-05T07:10:15.253 回答