2011-02-08 60 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