2012-09-05 30 views
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))); 
+0

簡單。針對此問題使用處理程序或異步任務。 –

+0

其實我一直沒有使用線程的東西..所以我怎樣才能實現這個在我的代碼...可以ü請幫助我在我的代碼中顯示.. – Rahul

回答

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) { 

     } 
     }; 
+0

我想使用ProgressBar而不是ProgressDialog..So如何做到這一點 – Rahul

+0

進度條請參考此鏈接http://www.androidhive.info/2012/04/android-downloading-file-by-showing-progress-bar/ – Shalini

+0

是的,它的工作......我只是改變此代碼ProgressDialog pd = ProgressDialog.show(SetFrames.this,「Loading」,「請 等待......」,true); by progressBar.setVisibility(1);謝謝......... – Rahul

0

試試這個。 tutorial。我覺得這裏是很好的例子給你展示進度項目one by one.
享受...

相關問題