ClipData всегда возвращается как ноль, используя Android NoNonsense FilePicker
Я пытаюсь использовать NoNonsense FilePicker из Spacebowboy, но у меня проблемы с получением Uri. Вызов intent работает просто отлично, но полученный код копируется прямо из репозитория, и я не понимаю, что я могу сделать неправильно. Код получения таков:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case (FILE_CODE) : { Log.v("myapplication","recieved result from file chooser");
if (resultCode == Activity.RESULT_OK) {
Log.v("myapplication","result ok");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
Log.v("myapplication","This is as far as we get.");
ClipData clip = data.getClipData();
if (clip != null) { // Clip is always null, but why?
for (int i = 0; i < clip.getItemCount(); i++) {
Uri uri = clip.getItemAt(i).getUri();
// Do something with the URI
Log.v("myapplication","Success!");
}
}
// For Ice Cream Sandwich
} else {
ArrayList<String> paths = data.getStringArrayListExtra
(FilePickerActivity.EXTRA_PATHS);
Log.v("myapplication","Using a newer version, so this code is never used.");
if (paths != null) {
for (String path: paths) {
Uri uri = Uri.parse(path);
// Do something with the URI
}
}
}
}
}
}
}
С другой стороны, если есть предложения о других (более качественных, функциональных, надеюсь, простых) методах, которые я мог бы использовать для выбора файлов, это также было бы замечательно.