Мне удалось найти решение.
Мне пришлось работать с MethodChannels в другом, чтобы добиться этого.
После написания Java-кода для получения файласписок, я вошел в флаттер через канал
Java-метод для получения файлов
private List<String> getImages(){
String path = Environment.getExternalStorageDirectory().toString();
List<String> imgs = new ArrayList<String>();
File directory = new File(path);
List<String> files = Arrays.asList(directory.list());
imgs = files;
return imgs;
}
Java MethodChannel
new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(
(call, result) -> {
if (call.method.equals("getImages")) {
List<String> imgs = getImages();
if (imgs.size() <= 0) {
result.error("Empty", "No Images.", null);
} else {
result.success(imgs); }
} else {
result.notImplemented();
}
});
Dart Code
Future<void> _getImages() async {
List images;
try {
final List result = await platform.invokeMethod('getImages');
images = result;
} on PlatformException catch (e) {
print("Error");
}
setState(() {
imgs = images;
});
}
Полный исходный код доступен на Github