【发布时间】:2016-12-26 13:30:23
【问题描述】:
我有一个 android 应用程序,用户在活动中从手机内存中选择一张图片,然后使用 Action Pick Intent 将其上传到服务器
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
但是;现在需求发生了变化,客户想要上传任何扩展名的文件,我应该使用什么意图来打开手机的内存(如文件管理器)并选择我想要的任何内容?
感谢你们,现在我正在使用获取内容意图:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 1);
但问题在于结果的启动活动
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
if (requestCode == 1) {
Log.d("select pivture", "passed her");
Uri selectedMediaUri = data.getData();
String Fpath = selectedMediaUri.getPath();
Log.d("Fpath", Fpath);
}
我得到如下:
/document/primary:Download/tool208.pdf
这不是我想要的,我想要这样的路径:
/external/images/media/6634
【问题讨论】:
-
你可以把它做成Uri。
-
Uri.parse(filePath).
标签: android android-intent upload startactivityforresult