Я не нашел чистого решения в реагировать нативно, поэтому я создал собственный пакет в android и создал модуль в реагировать нативно, чтобы я мог использовать его.
Это код android:
@ReactMethod
public void getFileNameFromUri(String filepath, Promise promise) {
Uri uri = Uri.parse(filepath);
String fileName = "";
if (uri.getScheme().equals("content")) {
try {
Cursor cursor = reactContext.getContentResolver().query(uri, null, null, null, null);
if (cursor.moveToFirst()) {
fileName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
Log.d("FS", "Real File name: " + fileName);
}
cursor.close();
promise.resolve(fileName);
} catch (IllegalArgumentException ignored) {
promise.reject("1", "Can not get cursor");
}
} else {
promise.resolve(fileName);
}
}
Это модуль для реагирования на нативный код из android нативный код: response-native-modules- android