2016-12-26 55 views
0

我已经在那里的活动的用户从手机的内存选择图片的Android应用程序把它上传到使用操作的服务器选择意向从手机上传意向文件

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 
+0

检查这个环节。 http://code.google.com/p/android-file-dialog/ – Noorul

+0

你可以使它成为Uri。 – Noorul

+0

Uri.parse(filePath)。 – Noorul

回答

0

使用以下方法:

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

UPDATE

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    { 
      super.onActivityResult(requestCode, resultCode, data); 
     if(requestCode==PICKFILE_REQUEST_CODE){ 
     } 
} 
+0

注意:您的手机必须具有任何外部文件资源管理器应用程序。 – Noorul

+0

我不能选择pdf文件为什么? –

+0

'file/*'不是有效的MIME类型。使用'*/*'。 – CommonsWare