2011-02-08 102 views

回答

1

正如Nitrex说,你就需要通过JNI调用的方法在Java类:

在C:

void 
Java_com_example_hellojni_HelloJni_doSomeInterestingJob(JNIEnv* env, 
                 jobject thiz) 
{ 
    jclass cls = (*env)->GetObjectClass(env, thiz); 
    jmethodID mid = (*env)->GetMethodID(env, cls, "callback", "()V"); 
    if (mid == 0) 
     return; 
    (*env)->CallVoidMethod(env, thiz, mid); 
} 

在你的 “HelloJni”(请找一个更好的名字; - ))类,那么你可以调用:

public void callback() { 
    Log.d(TAG, "..."); 
    // Start notifications now. 
} 
0

您将不得不使用Java本地接口代码(JNI)从您的C代码调用java方法。在线了解JNI,了解如何做到这一点。然后在java中,您可以将通知添加到通知栏。如果你无法弄清楚调用java方法,请在这里留言或发表一个新问题。

+0

忘了提及不应该改变框架代码(需求)。有一件事可以使用服务来完成,但不知道如何去做。 – jhlee 2011-02-08 05:53:00