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;
}
}
}
安置自己正在進行上傳,也ü需要一些佈局設置爲您AudioActivity –
顯示進度對話框顯示上傳進度。我顯示一個複選框。當用戶選中複選框時,他的audiofiles備份將開始 –
@MD NO,我不想在這裏時AudioActivity – hellosheikh