Как и заголовок, я хочу получить путь к Json-файлу с помощью Intent, но цикл onActivityResult несколько раз, прежде чем я получу результат.
Вот мой код:
private void openProjectFile() {
fileChooser("*/*");
}
private void openAudioFile() {
fileChooser("audio/*");
}
private void fileChooser(String type){
System.out.println("file chooser");
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.setType(type);
intent.addCategory(Intent.CATEGORY_OPENABLE);
if (type == "*/*")
startActivityForResult(intent, JSON_PROJECT);
else
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent Data) {
super.onActivityResult(requestCode,resultCode,Data);
System.out.println("requestCode: " + requestCode + " : " + resultCode);
if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
if (Data != null) {
Uri uri = Data.getData();
String audioFilePath = uri.getPath().toString();
System.out.println("audio path: " + audioFilePath);
} else if (requestCode == JSON_PROJECT && resultCode == Activity.RESULT_OK) {
Uri uri = Data.getData();
String jsonFilePath = uri.getPath().toString();
System.out.println("file path: " + jsonFilePath);
}
}
После несколькихвремя выбрать файл JSON, я получил это в Logcat: 
Но это нормально, когда я пытаюсь открыть звуковой файл.Может кто-нибудь показать мне, как это исправить?Заранее благодарен!