HAAALP android custom java call

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!