从 phone 意图上传文件
Upload files from phone intent
我有一个 android 应用程序,在 activity 中,用户从 phone 的内存中选择一张图片,然后使用 Action Pick 意图将其上传到服务器
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
但是;现在要求已经改变,客户想要上传任何扩展名的任何文件,我应该使用什么意图来打开 phone 的内存 (如文件管理器) 然后选择我想要的任何东西?
现在我正在使用获取内容意图,感谢你们:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 1);
但问题出在开始 activity 结果
@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
使用以下方法:
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){
}
}
我有一个 android 应用程序,在 activity 中,用户从 phone 的内存中选择一张图片,然后使用 Action Pick 意图将其上传到服务器
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
但是;现在要求已经改变,客户想要上传任何扩展名的任何文件,我应该使用什么意图来打开 phone 的内存 (如文件管理器) 然后选择我想要的任何东西?
现在我正在使用获取内容意图,感谢你们:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 1);
但问题出在开始 activity 结果
@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
使用以下方法:
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){
}
}