首页 > 解决方案 > Unity Android:NoClassDefFoundError:无法创建通知

问题描述

编辑

我发现,显示通知的要求包括设置内容标题、上下文文本和小图标。最后一个我不做。不幸的是,我不知道如何提供一个小图标,尤其是在统一中。

原始问题

我目前正在尝试通过 android 显示来自统一实例的通知。我想在用户输入特定 gps 区域时显示通知。因此,脚本应该在应用程序暂停时运行。这就是我想使用 android 功能的原因。

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

    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

标签: c#androidunity3dnotificationsnoclassdeffounderror

解决方案


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

之后在我的/Assets/Plugin/Android-Folder中出现了多个依赖,在构建的时候成功转移到了应用中。


推荐阅读