zer0stimulus
zer0stimulus

Reputation: 23606

Android: How to broadcast intent from native code?

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

Answers (3)

Vijendra Kumar H.
Vijendra Kumar H.

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

Alex
Alex

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

EboMike
EboMike

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

Related Questions