要实现Android默认文件浏览器只显示*.json文件,可以使用以下代码示例:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("application/json");
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intent, REQUEST_CODE);
在这个示例中,我们创建了一个意图(Intent)来获取内容。使用setType()
方法将文件类型设置为application/json
,这将只显示*.json文件。通过addCategory()
方法将意图的类别设置为Intent.CATEGORY_OPENABLE
,以确保只显示可打开的文件。
最后,使用startActivityForResult()
方法启动意图,并将请求代码(REQUEST_CODE)作为参数传递。
在你的活动中,你需要重写onActivityResult()
方法来处理返回的结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
Uri uri = data.getData();
// 处理选择的文件URI
}
}
在这个示例中,我们检查请求代码和结果代码是否与我们之前使用的相匹配。如果匹配,则可以使用getData()
方法获取所选文件的URI,并进行处理。
请注意,此方法将使用系统默认的文件浏览器来选择文件。如果你想使用自定义的文件浏览器,你需要使用第三方库或自己实现一个文件浏览器。