android 如何将内部和外部存储添加到文件选择器
How to add Internal and External storage to File Chooser in android
我的示例应用程序是打开文件选择器和 select 文件/目录,然后将路径获取到 EditText,我尝试了此 question 中的方法并得到了这个结果
public class MainActivity extends AppCompatActivity {
private Button browse;
private EditText editTextPath;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
browse = (Button) findViewById(R.id.browse);
editTextPath = (EditText) findViewById(R.id.path);
browse.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(intent,"Select file or dir"), 1);
setResult(Activity.RESULT_OK);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
String Fpath = data.getDataString();
editTextPath.setText(Fpath);
}
}
}
我想像这样将内部和外部存储添加到文件选择器
用户可以点击操作栏中的“...”提示并选择 "Show internal storage" 以显示这些选项。
ACTION_GET_CONTENT
或 ACTION_OPEN_DOCUMENT
上的任何内容都没有官方支持自动显示内部存储选项,但希望有一天会支持。
你必须使用 Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
已安装 Intent intent = new Intent(Intent.ACTION_GET_CONTENT );
我的示例应用程序是打开文件选择器和 select 文件/目录,然后将路径获取到 EditText,我尝试了此 question 中的方法并得到了这个结果
public class MainActivity extends AppCompatActivity {
private Button browse;
private EditText editTextPath;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
browse = (Button) findViewById(R.id.browse);
editTextPath = (EditText) findViewById(R.id.path);
browse.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(intent,"Select file or dir"), 1);
setResult(Activity.RESULT_OK);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
String Fpath = data.getDataString();
editTextPath.setText(Fpath);
}
}
}
我想像这样将内部和外部存储添加到文件选择器
用户可以点击操作栏中的“...”提示并选择 "Show internal storage" 以显示这些选项。
ACTION_GET_CONTENT
或 ACTION_OPEN_DOCUMENT
上的任何内容都没有官方支持自动显示内部存储选项,但希望有一天会支持。
你必须使用 Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
已安装 Intent intent = new Intent(Intent.ACTION_GET_CONTENT );