Доступ к Android API
JavaClassWrapper оборачивает доступные Java-классы, а встроенный плагин AndroidRuntime предоставляет Android context/activity и адаптеры callback. Это Andro
JavaClassWrapper оборачивает доступные Java-классы, а встроенный плагин AndroidRuntime предоставляет Android context/activity и адаптеры callback. Это Android-интеграция, не универсальный API Windows и не гарантия C#-обёртки для каждого Java-класса.
Выбрать подход
- Для короткого обращения к доступному классу используйте отражение через wrapper, если оно доступно в вашем языке и сборке.
- Для SDK с lifecycle, разрешениями и сложными типами создайте Android-плагин: явный контракт проще сопровождать.
- Для C# сначала проверьте наличие нужной обёртки в установленном SDK. Не переносите вызов из примера другого языка, меняя только синтаксис.
Контракты
Используйте полное Java-имя класса и точную перегрузку. Класс должен попасть в APK и не быть удалён shrinker. AndroidRuntime.getApplicationContext() возвращает application context; он не заменяет Activity для операций, которым нужна Activity. getActivity() может вернуть null.
Адаптер createRunnableFromReckfellCallable создаёт Runnable, но сам не ставит его в UI-очередь. Callable вызывается потоком, который запустит Runnable. Proxy вызывает методы по имени: интерфейс, параметры и возвращаемое значение должны совпасть.
Если класс не найден, проверяйте упаковку и имя. Если вызов падает, проверьте перегрузку, null и поток. Не удерживайте устаревшую Activity после её пересоздания. Работа JNI, callback и C#-доступность на устройстве здесь не проверялись.