1

我有一个 android 应用程序,在一个活动中,用户从手机内存中选择一张图片,以使用 Action Pick 意图将其上传到服务器

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
4

1 回答 1

0

使用以下方法:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, PICKFILE_REQUEST_CODE);

更新

   @Override  
   protected void onActivityResult(int requestCode, int resultCode, Intent data)  
   {  
          super.onActivityResult(requestCode, resultCode, data);  
         if(requestCode==PICKFILE_REQUEST_CODE){  
         }  
 }  
于 2016-12-26T13:32:40.887 回答