Unity Android: NoClassDefFoundError: Can't create Notifications

Unity Android: NoClassDefFoundError: Can't create Notifications

编辑

我发现,显示通知的要求包括设置一个 content-title、一个 context-text 和一个小图标。最后一个我不做。不幸的是,我不知道如何提供一个小图标,尤其是在 unity 中。

原题

我目前正在尝试通过 android 显示来自 unity-instance 的通知。我想在用户输入特定 gps-area 时显示通知。因此,当应用程序暂停时,脚本应该 运行。这就是为什么我想使用 android-functionality.

使用此代码,我目前尝试手动显示通知:

    public void createNotification(){
        NotificationManagerCompat nManager = NotificationManagerCompat.from(curContext);

        NotificationCompat.Builder builder = new NotificationCompat.Builder(curContext, CHANNEL_ID)
                .setContentTitle("Stuff")
                .setContentText("MoreStuff")
                .setPriority(NotificationCompat.PRIORITY_DEFAULT);



        nManager.notify(1551, builder.build());
    }

上下文存储在静态变量中,并在调用方法时设置。

该函数在 C# 中调用:

PluginInstance.Call("createNotification");

PluginInstance 有效,可以调用函数,但出现错误:

AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/app/NotificationManagerCompat

我找到了问题的解决方案:我使用了 Unity Android Jar-Resolver,其中我提供了 *Dependencies.xml(其中 * 表示我的项目名称)。在 *Dependenices.xml 中,我指定:<androidPackage spec="androidx.appcompat:appcompat:1.1.0"> 和 运行 通过解析器教程中提供的步骤。

之后,在我的 /Assets/Plugin/Android- 文件夹中出现了多个依赖项,这些依赖项在构建应用程序时已成功传输到应用程序。