我有一个代码,我可以从库中选择任何图像并将其附加到我的活动中,但我希望任何mp3文件或任何文本文件都与附件一样。
这是我的代码: // b1是我的按钮
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i,SELECT_PHOTO);
}
});
//从Gallery返回结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SELECT_PHOTO && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
System.out.println("Path="+selectedImage);
String[] filePathColumn = { MediaStore.Images.Media.DATA,MediaStore.Audio.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);cursor.close();
Bitmap bitmap=BitmapFactory.decodeFile(picturePath);
img.setImageBitmap(bitmap);
}
}
答案 0 :(得分:0)
你可以做MP3
Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT);
pickMedia.setType("audio/*");
startActivityForResult(pickMedia,1);
答案 1 :(得分:0)
使用此代码:
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
}
});
// And returning result from Gallery:
if (requestCode == RESULT_LOAD_IMAGE && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
ImageView imageView = (ImageView) findViewById(R.id.register_photo);
imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
}