com.thor.kalen.MainActivity.SendNotification () Метод Java должен вызываться для jobject класса com.thor.kalen.MainActivity ,не jclass этого объекта: это не статический метод:
main_activity->env->CallVoidMethod(main_activity.clazz, _method)
Обратите внимание на комментарий в native_activity.h :
/**
* The NativeActivity object handle.
*
* IMPORTANT NOTE: This member is mis-named. It should really be named
* 'activity' instead of 'clazz', since it's a reference to the
* NativeActivity instance created by the system for you.
*
* We unfortunately cannot change this without breaking NDK
* source-compatibility.
*/
jobject clazz;
Кроме того, вы можете только show () AlertDialog из основного потока (UI).Ваш код C ++ предполагает, что вы делаете это из фонового потока.
Если этот код выполняется в основном потоке, то
main_activity->vm->DetachCurrentThread()
следует удалить. AttachThread () также можно удалить, но это NOP при вызове в потоке, который уже присоединен.