创建NotificationChannel会抛出IllegalArgumentException

2024-02-26

该应用程序适用于以前版本的 Android,但不适用于 Oreo。它是WebView with Notifications。我一直在研究这个错误,但没有发现任何类似的东西。

堆栈跟踪:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: net.oneteamit.tk, PID: 3171
java.lang.RuntimeException: Unable to start activity ComponentInfo{net.oneteamit.tk/net.oneteamit.tk.MainActivity}:
    java.lang.IllegalArgumentException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6541)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
 Caused by: java.lang.IllegalArgumentException
    at android.os.Parcel.readException(Parcel.java:1946)
    at android.os.Parcel.readException(Parcel.java:1888)
    at android.app.INotificationManager$Stub$Proxy.createNotificationChannels(INotificationManager.java:1418)
    at android.app.NotificationManager.createNotificationChannels(NotificationManager.java:446)
    at android.app.NotificationManager.createNotificationChannel(NotificationManager.java:434)
    at net.oneteamit.tk.MainActivity.onCreate(MainActivity.java:47)
    at android.app.Activity.performCreate(Activity.java:6975)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
    at android.app.ActivityThread.-wrap11(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
    at android.os.Handler.dispatchMessage(Handler.java:105) 
    at android.os.Looper.loop(Looper.java:164) 
    at android.app.ActivityThread.main(ActivityThread.java:6541) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

MainActivity:

public class MainActivity extends AppCompatActivity {

    private WebView mWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mWebView = (WebView) findViewById(R.id.activity_main_webview);
        WebSettings webSettings = mWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        mWebView.loadUrl("My test URL");
        mWebView.setWebViewClient(new WebViewClient());
        mWebView.getSettings().setAppCacheEnabled(false);
        mWebView.clearCache(true);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            // Create channel to show notifications.
            String channelId  = getString(R.string.default_notification_channel_id);
            String channelName = getString(R.string.default_notification_channel_name);

            NotificationManager notificationManager =
                getSystemService(NotificationManager.class);

            notificationManager.createNotificationChannel(
                new NotificationChannel(channelId,
                                        channelName,
                                        NotificationManager.IMPORTANCE_LOW));
        }

        mWebView.getSettings().setUseWideViewPort(true);
        mWebView.getSettings().setLoadWithOverviewMode(true);
        mWebView.setInitialScale(1);
        mWebView.getSettings().setBuiltInZoomControls(true);
    }
}

当通道名称无效时会出现此异常。我能够通过使用空通道名称运行来重现堆栈跟踪:

<string name="default_notification_channel_name"></string>

检查您定义的值default_notification_channel_name并将其更改为有效值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建NotificationChannel会抛出IllegalArgumentException 的相关文章

  • Android 覆盖在软件按钮之上

    我正在尝试编写一个绘制自定义鼠标指针的应用程序 我目前有一个服务 它创建一个扩展 ViewGroup 的类 并使用 WindowManager 系统服务将其显示为带有 FLAG LAYOUT IN SCREEN 设置的 TYPE SYSTE
  • Android中如何使用洪水填充算法?

    我是Android编程新手 最近尝试编写一个简单的应用程序 仅供练习 在这个中 我想在用户点击时为图像着色 但我不知道如何开始 我读过不同的主题 其中提到使用 洪水填充 算法 我在网上找到了它 但我不知道如何将它放入我的简单应用程序中 我找
  • 使用 Google Places Autocomplete API 的 REQUEST_DENIED 响应

    我正在开发 Android 应用程序 它使用谷歌的地点自动完成 API 当尝试点击以下网址时 我得到的答复如下 预测 状态 REQUEST DENIED 我从下面的链接获得了 API 密钥Google API 控制台 http code g
  • Google Firebase - 如何删除崩溃报告?

    我最终失明了吗 还是没有明显的方法可以通过 Google Firebase Web 控制台删除 Firebase 崩溃报告 我的 Android 应用程序已成功记录报告 但现在出现大量 开发崩溃 占用了我在控制台中的大部分视图 这使得找到实
  • SQLite (Android):使用 ORDER BY 更新查询

    Android SQLite 我想要在 myTable 中的其他行之间插入行在android中使用SQLite 为此 我尝试增加从第 3 行开始的所有行的 id 这样 我就可以在位置 3 处插入新行 myTable 的主键是列 id 表中没
  • 按钮未显示在屏幕上

    我创建了一个应用程序 其中显示带有图像和文本的列表视图 我在页面末尾添加按钮 但这没有显示在屏幕上 我是 Android 新手 我该如何解决这个问题 这是我的 UI XML 代码
  • 如何将画廊意图中的“打开”更改为“完成”?

    我使用以下意图打开画廊来选择多个图像和视频 Intent intent new Intent intent setType image video intent putExtra Intent EXTRA ALLOW MULTIPLE tr
  • 在 WebView 中完成 AdBlock

    我即将在我的 Android 应用程序中推出 WebView AdBlocking 我想知道这是否会有效地阻止广告 或者在 Webview 本身内是否还有更多工作要做 我尚未修改 基本上我有一个存储在 Android 资产中的主机文件 其中
  • 为什么按钮上的 maxWidth 不起作用以及如何解决它?

    我的布局上有两个按钮 在大屏幕设备 平板电脑 上我想限制它们的宽度 这样它们看起来就不会很荒谬 我希望使用 maxWidth 属性 但它显然在我的场景中没有任何作用 这是布局定义 按钮使用布局的整个宽度 忽略 maxWidth 中的任何值
  • Android中不同线程的数据库访问

    我有一个在 AsyncTasks 中从互联网下载数据的服务 它解析数据并将其存储在数据库中 该服务持续运行 当服务写入数据库时 活动会尝试从数据库中读取更改 我有一个数据库助手 有多种写入和读取方法 这会导致问题吗 可能尝试从两个不同的线程
  • 监听什么来检测 Android 中的请勿打扰模式更改?

    我希望我的应用程序在手机设置为请勿打扰模式 仅限闹钟 仅限优先级或完全静音 时显示通知 通过聆听 这效果非常好android media RINGER MODE CHANGED在快速设置中检查此模式并在已选择的选项卡中选择模式时 但是 当选
  • 通过列表视图检查动态生成的复选框时遇到问题

    我知道其他成员已经提出了这个问题 一些成员也给出了解决方案 但问题是我没有找到任何适合我的应用程序的解决方案 我正在创建一个应用程序 其中我有一个屏幕 它将显示动态列表视图 其中包含列表项 复选框和三个文本视图 一个用于候选人姓名 另外两个
  • 如何从 Facebook 邀请好友到 Android 应用程序? - 给出错误

    我正在开发一个 Android 应用程序 我正在努力将 邀请朋友 功能添加到我的应用程序中 它转到我的AppLinkUrl成功但显示错误 我的清单代码如下
  • ACCESS_BACKGROUND_LOCATION 不适用于低于 Q (29) 的 Android 版本

    我的应用程序面向 Android API 28 根据文档 https developer android com preview privacy location target android 10 我应该要求ACCESS BACKGROU
  • 不显示 WRITE_EXTERNAL_STORAGE 的权限对话框

    I want to download a file using DownloadManager And DownloadManager wants to WRITE EXTERNAL STORAGE permission I have in
  • 内部存储的安全性如何?

    我需要的 对于 Android 我需要永久保存数据 但也能够编辑 并且显然是读取 它 用户不应访问此数据 它可以包含诸如高分之类的内容 用户不得对其进行编辑 我的问题 我会 并且已经 使用过Internal Storage 但我不确定它实际
  • Android - iphone 风格 tabhost [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 更改Android菜单的背景颜色[重复]

    这个问题在这里已经有答案了 我正在尝试将标准浅灰色更改为浅绿色 似乎没有一个简单的方法可以做到这一点 例如 通过 Android 主题 但我找到了一个解决方法 如本页所述 http tinyurl com 342dgn3 http tiny
  • 通过powershell运行ADB命令

    所以我尝试通过 powershell 脚本运行一些 ADB 命令 这是我正在尝试做的一个简单示例 adb shell echo in adb shell su root echo you are now root ls cd data da
  • 具有矢量可绘制的 ImageView 的 Resources$NotFoundException

    我遇到了崩溃 Resources NotFoundException用于在活动创建时绘制的矢量 21 日前崩溃 安卓工作室2 1 支持库24 0 0 Gradle插件2 1 0 目标SDK 23 最小SDK 15 buildTools版本

随机推荐

  • 如何从用户空间访问当前读取/写入的线程数?

    我编写了一个模块 用户可以在其中读取或写入 proc 文件 如何确定在内核级编程中读取或写入的用户进程中的线程数 Use current作为指向当前任务的指针 当前task struct 在你的读 写函数中 include
  • itext 正确获取页面或文档中的每个图像位置

    试验 itext 我正在从 pdf 文件中提取文本和图像 出于我的目的 我使用文本和图像构建了一个 html 文件 目标是将提取的图像放置在整个文本中 而不是像我目前那样将它们放置在末尾 经过一番研究后 itext renderInfo g
  • 如何以编程方式使用 localstack s3 端点设置 Airflow 1.10 日志记录?

    为了尝试将气流日志记录到 localstack s3 存储桶 对于本地和 kubernetes 开发环境 我遵循用于记录到 s3 的气流文档 https airflow apache org docs 1 10 1 howto write
  • 如何从范围中获取百分比[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个基本的数学问题 我试图从一系
  • 如何将我的 2 路数据绑定从代码隐藏移动到 XAML

    对于 WFP 和 C 来说相对较新 长期 PHP 程序员 我成功地在文本框和对象的属性之间设置了 2 WAY 数据绑定 我能够在代码隐藏中建立绑定 但无法在 XAML 中建立绑定 我想学习如何在 XAML 中进行 BINDING 也就是下面
  • Odata V4 中的流支持

    处理文件流 GET POST 和 DELETE 操作的推荐方法是什么 我得到了关于如何执行此操作的以下链接 但它适用于 V3 版本 在将此解决方案移植到 OData V4 时 伊朗遇到了一系列问题 引发了以下问题 Odata V4 是否支持
  • 单元测试辅助方法?

    我的类以前有大量方法 因此我将此方法的工作细分为 辅助 方法 这些辅助方法已声明private强制封装 但是我想对大型公共方法进行单元测试 对辅助方法也进行单元测试是否很好 因为如果其中一个方法失败 调用它的公共方法也会失败 这样我们就可以
  • 将 .scn 文件从带有纹理的 URL 导入场景

    我正在为我的应用程序使用 ARKit 并尝试从网络服务器动态加载 scn 文件 这是我的代码的一部分 let url URL string http 192 168 0 31 1234 5a27e09cbad20a7a03ad5d80 bo
  • 更新到 Node v4.0.0 后运行 gulp-sass 时出错

    我更新到 Node v4 0 0 当我在项目中运行 gulp 时 我收到有关 gulp sass node sass 的错误 如下所示 Error libsass未找到绑定 尝试重新安装node sass 我尝试删除项目中的所有节点模块并重
  • 使用 Tensorflow 2 中保存的模型进行推理:如何控制输入/输出?

    将我的代码从 TF1 调整为 TF2 6 我遇到了麻烦 我正在尝试向 inception resnet 添加一些自定义层 保存模型 然后加载并运行它 from tensorflow keras layers import Dense fro
  • 在 Pandas 中对行和列 MultiIndex 使用布尔索引

    问题在最后 在bold 但首先 让我们设置一些数据 import numpy as np import pandas as pd from itertools import product np random seed 1 team nam
  • AADSTS90002:未找到租户“xx”。如果租户没有有效订阅,则可能会发生这种情况

    我跟着this https blogs msdn microsoft com jpsanders 2017 03 17 accessing azure app services using azure ad bearer token 2 从
  • Vue2 with typescript,类型上不存在属性

    我有以下 Vue 组件
  • 将声音导出为 WAV 文件

    我从来没有在 Mma 中过多地使用声音 I have t Sound List Violin SoundNote 6 我怎样才能导出t作为 WAV 文件 当我尝试显而易见的事情时 Export c test wav t I get 在这个旧
  • 删除旧版本的 Ruby(在 Windows 上)

    我刚刚下载了 Ruby 1 9 2 我希望它完全取代我也安装的旧版本 Ruby 1 8 7 主要是因为我在安装不同版本的东西时感到困惑 最好的方法是什么 我要卸载旧版本吗 如果是这样 怎么办 我可以用新的 ruby 1 9 2 bin ru
  • HTML5 本地存储中的项目何时过期?

    数据保存多长时间localStorage 作为 HTML5 中 DOM 存储的一部分 可用吗 我可以为本地存储的数据设置过期时间吗 我建议将时间戳存储在object您存储在 localStorage 中 var object value v
  • 使用 keras 库指定 Dense

    我稍微误解了如何为我的数据创建一个简单的序列 数据具有以下维度 X train shape 2369 12 y train shape 2369 X test shape 592 12 y test shape 592 这就是我创建模型的方
  • 如何在 JavaFX 的文本字段中添加提示文本

    我想在文本字段中添加一些提示文本 例如 姓名 或 姓氏 我像这样创建文本字段TextField userTextField new TextField 但我找不到如何做到这一点 在这里 我刚刚发现这个仅当用户开始输入时清除 JavaFX T
  • qpython 没有“gnu-readline”功能

    我已经在我的 Samsung Galaxy Appeal android 2 3 6 上安装了 qpython 但是解释器的命令行没有 readline 编辑功能 这使得它使用起来不切实际 这通常不是自动包含在内吗 这与当前活动的 Shel
  • 创建NotificationChannel会抛出IllegalArgumentException

    该应用程序适用于以前版本的 Android 但不适用于 Oreo 它是WebView with Notifications 我一直在研究这个错误 但没有发现任何类似的东西 堆栈跟踪 E AndroidRuntime FATAL EXCEPT