【发布时间】:2011-02-08 01:53:27
【问题描述】:
在中间件 C 库中完成一些工作后,需要向通知栏显示一些通知。请建议是否有任何解决方法来显示通知。这个 C 库没有 GUI 部分。
【问题讨论】:
标签: android notifications middleware
在中间件 C 库中完成一些工作后,需要向通知栏显示一些通知。请建议是否有任何解决方法来显示通知。这个 C 库没有 GUI 部分。
【问题讨论】:
标签: android notifications middleware
正如 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.
}
【讨论】:
您将不得不使用 Java 本机接口代码 (JNI) 从 C 代码中调用 java 方法。在线阅读 JNI,了解如何做到这一点。然后在java中,您可以将通知添加到通知栏。如果您不知道调用 java 方法,请在此处发表评论或发布新问题。
【讨论】: