0

在中间件 C 库中完成一些工作后,需要向通知栏显示一些通知。请建议是否有任何解决方法来显示通知。这个 C 库没有 GUI 部分。

4

2 回答 2

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.
}
于 2011-02-08T08:13:19.627 回答
0

您将不得不使用 Java 本机接口代码 (JNI) 从 C 代码中调用 java 方法。在线阅读 JNI,了解如何做到这一点。然后在java中,您可以将通知添加到通知栏。如果您不知道调用 java 方法,请在此处发表评论或在其上发布新问题。

于 2011-02-08T04:02:41.013 回答