2014-02-23 89 views
1

我發送圖像和音頻文件到我的PHP服務器。我正在使用Asynctask。我的程序中有兩項活動。問題是,如果我從MainActivity推出我的第二個活動(AudioActivity)這樣java - Android HttpPost黑屏同時發送文件到服務器

upload_audio.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View view) { 
     Intent intent = new Intent(MainActivity.this, AudioActivity.class); 
     startActivity(intent); 
    } 

}); 

然後當我按一下按鈕upload_audio屏幕變黑,但過程中仍然運行成功。所以,如果我有這樣的聲音活動我mainActivity然後一切正常perfect.so我怎樣才能處理文件,同時從MainActivity.hope開展活動期間讓我的應用程序仍然可見你明白我的問題

這裏是我AudioActivity的代碼

public class AudioActivity extends Activity { 

    private static final int SELECT_AUDIO = 2; 
    String selectedPath = ""; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     upload(); 
    } 


    public void upload() { 
     ArrayList<Uri> fileName = getFileList(this); 
     for (int i = 0 ; i < fileName.size() ; i++) 
     { 
      try { 
       selectedPath = getPath(fileName.get(i)).toString(); 
       System.out.println(getPath(fileName.get(i))); 

       new AudioSync(selectedPath).execute(getPath(fileName.get(i))).get(); 
       // AudioSync sync = new AudioSync(getPath(fileName.get(i))).get; 
       //new AudioSync().execute("").get(); 
      } catch (InterruptedException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (ExecutionException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    } 


    public String getPath(Uri uri) { 
     String[] projection = { MediaStore.Audio.Media.DATA }; 
     Cursor cursor = managedQuery(uri, projection, null, null, null); 
     int column_index = cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } 


    private ArrayList<Uri> getFileList(Context context) { 
     Cursor actualimagecursor = null; 
     ArrayList<Uri> fileList = new ArrayList<Uri>(); 
     try 
     { 
      String[] proj = { MediaStore.Audio.Media.DATA, MediaStore.Audio.Media._ID }; 
      actualimagecursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, 
        null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER); 

      int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID); 

      for (int i = 0 ; i < actualimagecursor.getCount() ; i++) 
      { 
       actualimagecursor.moveToPosition(i); 
       String fileName = actualimagecursor.getString(actual_image_column_index); 
       fileList.add((Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, fileName))); 
      } 
      return fileList; 
     } 
     catch (Exception e) 
     { 
      return null; 
     } 
    } 

} 
+0

安置自己正在進行上傳,也ü需要一些佈局設置爲您AudioActivity –

+0

顯示進度對話框顯示上傳進度。我顯示一個複選框。當用戶選中複選框時,他的audiofiles備份將開始 –

+0

@MD NO,我不想在這裏時AudioActivity – hellosheikh

回答