Unity Android:NoClassDefFoundError:无法创建通知

问题描述

修改

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

原始问题

我当前正在尝试通过android从unity-instance显示通知。当用户输入特定的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

解决方法

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

此后,在我的/Assets/Plugin/Android文件夹中出现了多个依赖关系,这些依赖关系在构建时已成功转移到应用程序中。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...