回传值
Intent intent = new Intent(this, DownloadVideoActivity.class);
startActivityForResult(intent,0);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK||requestCode==0) {
Bundle extras = data.getExtras();
if (extras!=null){
String url = extras.getString("url");
File file = new File(url);
Uri imageContentUri = getImageContentUri(this, file);
String selectedFilepath = GetPathFromUri.getPath(this,imageContentUri);
if (selectedFilepath != null && !"".equals(selectedFilepath)) {
mShortVideoRecorder.setMusicFile(selectedFilepath);
}
}
}
}
返回值页面
Intent intent =getIntent();
//这里使用bundle绷带来传输数据
Bundle bundle =new Bundle();
bundle.putString("url",mVideoPath);
intent.putExtras(bundle);
setResult(RESULT_OK,intent);
finish();
绝对路径
storage/emulated/0/DownloadFile/jg0DAFgi6G-AKqsqADDP_nSW5F4051.mp3
转换成带file:的路径
File file = new File(url);
转换成content://的路径
Uri imageContentUri = getImageContentUri(this, file);
public static Uri getImageContentUri(Context context, java.io.File imageFile) {
String filePath = imageFile.getAbsolutePath();
Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Images.Media._ID }, MediaStore.Images.Media.DATA + "=? ",
new String[] { filePath }, null);
if (cursor != null && cursor.moveToFirst()) {
int id = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID));
Uri baseUri = Uri.parse("content://media/external/images/media");
return Uri.withAppendedPath(baseUri, "" + id);
} else {
if (imageFile.exists()) {
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATA, filePath);
return context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
} else {
return null;
}
}
}
如果不懂可以联系我 1546079149 QQ