c# - 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
解决方案
我找到了我的问题的解决方案:我使用了我提供的Unity Android Jar-Resolver*Dependencies.xml
(其中 * 表示我的项目的名称)。在*Dependenices.xml
I 中指定:<androidPackage spec="androidx.appcompat:appcompat:1.1.0">
并运行解析器教程中提供的步骤。
之后在我的/Assets/Plugin/Android
-Folder中出现了多个依赖,在构建的时候成功转移到了应用中。
推荐阅读
- android - 如何使用 Appium 更改 android 用户帐户?
- gis - Repast 在示例文件中不显示背景地图
- python - 使用 python 登录使用 cookie 的网站
- python - 即使出现错误,也要确保循环遍历每个文件
- php - 带有数组的空 url 参数未使用 PHP empty() 函数标记为空
- python - 如何在 simpleaudio 库中设置音量?
- javascript - 为什么这个滑块会带入滑块下方的内容,然后再向上?
- vue.js - 更漂亮的 ESLint 循环错误
- azure-data-explorer - 尝试使用过去 30 天内未登录的用户创建 KQL
- vb.net - 在 Visio 2016 或 2019 中设置刷新后自动链接