Reputation: 23606
Is it possible to broadcast an Intent from native code? If so, is there documentation and/or sample code pertaining to the relevant APIs?
Upvotes: 11
Views: 9928
Reputation: 21
Even a pure native application can broadcast an Intent. That means, even when native activity is the launcher, we can still broadcast Intents.
Upvotes: 0
Reputation: 1
I think there is nothing complicated in broadcasting message from native code but only in case if the native function is called from Android Java application so you can pass a Context. As far as I know there is no such thing as Context for purely native applications therefore you can not broadcast an intent.
Upvotes: 0
Reputation: 77752
You will need to call it by calling the Java API function - there is no JNI interface for intents.
First look up the class for Intent
, then look up the methods for constructing intents and broadcasting them, and call them.
EDIT: Here is an incomplete example. jniEnv
is passed into all your JNI functions.
jclass activityClass = jniEnv->FindClass("android/app/Activity");
jmethodID startAcitivtyMethod = jniEnv->GetMethodID(activityClass , "startActivity", "(Landroid/content/Intent;)V");
jniEnv->CallVoidMethod(yourActivityObject, startAcitivityMethod, yourIntentObject);
Upvotes: 12