2013-02-26 2 views
0

У меня есть один activity, который имеет один метод void: receiveSMS(), это метод void, по какой-то причине я не могу сделать его статической функцией.Как вызвать нестационарный метод Activity из файла C

мой вопрос в том, как вызвать метод void activity из файла c.

Как вызов нестационарного метода нам нужен экземпляр класса. как я могу получить экземпляр Activity в моем файле c.

Спасибо заранее.

ответ

0

вам нужна следующая сигнатура для Пустоты Типа

JNIEXPORT void JNICALL 

после этого добавьте имя методы с пакетом и его атрибутом в качестве примера ниже можно использовать в качестве ссылки

Java_com_putitout_buck_talkinganimals_VideoPlayback_setActivityPortraitMode(JNIEnv *, jobject, jboolean isPortrait) 
{ 
    isActivityInPortraitMode = isPortrait; 
} 

в Java Метод Подпись будет такой:

private native void setActivityPortraitMode(boolean isPortrait); 

для далее underStanding взгляните на JNI

+0

мой код для вашей справки JNIEXPORT void JNICALL Java_Callbacks_nativeMethod (char * a, char * from). У меня есть глобальный JAVAvm, который я делал во время локализации JNI, поэтому я использовал глобальную VM для получения env, а затем class cls = (* env) -> FindClass (env, "com/natv/natt/XmppChatActivity"); XmppChatActivity - это Activity, который содержит нестационарную функцию. мне нужно вызвать эту функцию, используя cls "(* env) -> CallVoidMethod (env, obj, mm, args);" его необходимо obj, мой вопрос в том, как я могу получить obj (экземпляр активности An) из c C-файла. Заранее спасибо – Ashish

Смежные вопросы