定义如下控件和变量
private Button btn_pickRecord;
private TextView tv_path;
final public static int FILE_SELECT_CODE = 1;
String audioPath;
代码
public void pickRecord() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*"); //选择音频
intent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(Intent.createChooser(intent, "Select a File to Upload"), FILE_SELECT_CODE);
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(this, "Please install a File Manager.", Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case FILE_SELECT_CODE:
if (resultCode == RESULT_OK) {
Uri uri = data.getData();
Log.e("uri", uri.toString());
String[] proj = {MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(uri, proj, null, null, null);
int actual_image_column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
audioPath = cursor.getString(actual_image_column_index);
Log.e("uri", audioPath);
tv_path.setText(audioPath);
}
break;
default:
break;
}
super.onActivityResult(requestCode, resultCode, data);
}