ok i understand now how works with delegates i need add this inside the JNI_OnLoad:
//delegate Toast
DECLARE_DELEGATE_OneParam(FAndroidToastDelegate, const FString&);
extern CORE_API FAndroidToastDelegate OnAndroidToast;
OnAndroidToast = FAndroidToastDelegate::CreateStatic(&AndroidThunkCpp_Toast);
where extern is the keyword and pass a static reference from my AndroidThunkCpp_Toast method, now in order to call from whatever i want i need use the OnAndroidToast variable!
i used from my custom BlueprintFunctionLibrary like this:
DECLARE_DELEGATE_OneParam(FAndroidToastDelegate, const FString&);
CORE_API FAndroidToastDelegate OnAndroidToast;
void UMyBlueprintFunctionLibrary::Toast(FString Msg)
{
#if PLATFORM_ANDROID
GEngine->AddOnScreenDebugMessage(-1, 3, FColor::Green, Msg);
OnAndroidToast.Execute(Msg);
#endif
}
this works!
but i have a last question!
why my java function just work inside the runnable? and not like AndroidThunkJava_LaunchURL without the runnable?
please somebody explain me, i afraid i never touch android code before in my life, so my undestands about android is limited!