在 Android 中如何显示来自 C 库的通知

发布于 2024-10-16 11:55:24 字数 71 浏览 2 评论 0原文

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

After completion of some work in Middleware C library, Need to show few notifications to Notification bar. Please suggest if any work around to show the notifications.This C library doesnt have GUI part of it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苏佲洛 2024-10-23 11:55:24

正如 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.
}

As Nitrex said, you would need to call the method in your Java class via JNI:

In 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);
}

In your "HelloJni" (pls. find a better name ;-)) class, you can then call:

public void callback() {
    Log.d(TAG, "...");
    // Start notifications now.
}
情徒 2024-10-23 11:55:24

您必须使用 Java 本机接口代码 (JNI) 从 C 代码调用 java 方法。在线阅读有关 JNI 的信息,了解如何执行此操作。然后在java中,您可以将通知添加到通知栏。如果您无法弄清楚调用 java 方法,请在此处发表评论或发布新问题。

Your going to have to call java methods from your C code using Java Native Interface code (JNI). Read about JNI online for how you can do this. Then in java, you can add the notifications to the notification bar. If you can't figure out calling java methods, comment here or post a new question on it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文