创建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 的相关文章

  • 模拟器中 Google Wear 上的语音识别器没有语音输入

    我试图使用 Google Wear 网站上的自由形式语音输入 在 hello world 示例中 我刚刚添加了对 textView 的单击 它确实从语音意图中调出 立即发言 活动 但模拟器无法检测到我的麦克风发出的任何声音 我使用的是 Ma
  • 如何访问 Android 心率传感器原始数据? (反射光,不是心跳)

    心率传感器上的 android sdk 仅返回计算出的 bpm 我对此不感兴趣 我需要访问 Android 心率传感器原始数据 例如就反射值的强度而言将会很大 因为心率传感器基本上使用 LED 并测量随时间变化的反射率 如果可能 访问由任何
  • 在工具栏下显示内容

    您好 我试图简单地将我的内容放在工具栏下方 但是当我运行我的应用程序时 某些内容本应位于工具栏下方 却隐藏在工具栏后面 我已经阅读了有关使用框架布局来尝试将其分离的内容 但我有点卡住了 我目前正在使用该软件提供的基本 android stu
  • Android:如何暂停和恢复可运行线程?

    我正在使用 postDelayed 可运行线程 当我按下按钮时 我需要暂停并恢复该线程 请任何人帮助我 这是我的主题 protected void animation music6 music4 postDelayed new Runnab
  • Android中将JSON数据存储到本地数据库

    好的 我创建了一个应用程序 它使用 JSON 从我的服务器检索数据 现在我想将检索到的数据存储在手机的本地存储 数据库中 我该怎么做 我是android编程新手 这是我从服务器收到的 JSON messages id 44 issender
  • 使用 proguard 混淆文件名

    我正在使用 proguard 和 Android Studio 混淆我的 apk 当我反编译我的apk时 我可以看到很多文件 例如aaa java aab java ETC 但我项目中的所有文件都有原始名称 有没有办法混淆我的项目的文件名
  • 无法在 Android Studio 中导出签名的 APK

    当我使用keytool list keystore path to keyfile jks并提供我的密码 我可以看到那里的条目 但是当我在尝试使用相同的密码生成签名的 APK 时使用相同的密码时 我收到错误 无法加载密钥库 密钥库被篡改 或
  • 当我单击“完成”键时,Android OnEditorActionListener() actionId 给出 0

    我创建了一个键盘 当用户输入数字时 它会输入特定的 EditText 但是当用户单击Done关键 它没有去setOnEditorActionListener但它关闭了键盘 这是我的代码 final EditText txtQty new E
  • 蓝牙 BLE Android 以最大吞吐量写入外设

    我们公司开发了一个具有蓝牙 BLE 的硬件单元 并且我们在 Nexus 7 2013 中有一个服务应用程序 我们希望使用它向该单元发送固件文件 文件最大可达 500kb BT芯片是德州仪器CC2540 我浏览了大量的页面 并扫描了 Stac
  • 4 天后,应用仍未在 Google Play 搜索中编入索引

    我已经在 4 天前在 google play 上发布了我的第一个应用程序 语音到短信 但我仍然无法通过其名称或开发人员名称在搜索中找到我的应用程序 我只能通过包名称或真实应用程序名称 但不带空格 找到我的应用程序 VoiceToSMS 链接
  • 自动删除 Firebase 通知

    我有一个问题 我都读过让通知在 5 分钟后消失 https stackoverflow com questions 15648699 make notification disappear after 5 minutes and 几秒钟后清
  • 如何清除Android剪贴板?

    我发现的方法都不起作用 这是我尝试过的 1 使用clearPrimaryClip 的方法ClipboardManager class ClipboardManager clipboard ClipboardManager getSystem
  • 模拟器无法加载

    我正在使用 hello android 教程并通过 eclipse 创建 avd 启动模拟器时不使用图像 它只是显示一个黑色的后屏 中间有 ANDROID 字样 并且在 ANDROID 字样的末尾有一个闪烁的光标 我已按照 T 的步骤安装
  • 如何在Android模拟器中隐藏应用程序图标?

    我有一个应用程序在启动完成后自动启动 但应用程序图标显示在android模拟器中 现在我想向用户隐藏该图标 这样用户就无法知道应用程序已启动 并且他们无法启动该应用程序手动申请 在您的 AndroidManifest xml 文件中 您可能
  • 以 HTML 格式发送电子邮件

    我想发送 HTML 格式的电子邮件 如下图所示 我怎样才能做到这一点 请帮我 提前致谢 String body new String table tr td br header td tr br br Get b Best Score b
  • 文本视图不显示全文

    我正在使用 TableLayout 和 TableRow 创建一个简单的布局 其中包含两个 TextView 这是代码的一部分
  • 用于请求带有临时缓存的远程 Observable 的 RxJava 模式

    用例是这样的 我想暂时缓存最新发出的昂贵的Observable响应 但在它过期后 返回到昂贵的源Observable并再次缓存它 等等 一个非常基本的网络缓存场景 但我真的很难让它工作 private Observable
  • onPrepareOptionsMenu 复制 ActionBar 中的项目

    当我使用 onPrepareOptionsMenu 添加菜单项时 该菜单项会在操作栏中复制其自身 我正在使用片段并在主要活动的 ActionBar 中创建初始菜单 如下所示 Override public boolean onCreateO
  • Android:透明活动问题

    最近 在我们的一款生产应用程序上 透明活动已停止工作 我的意思是它变成了黑色背景而不是透明背景 当我将活动的背景颜色设置为纯色 即红色 绿色等 时 它的应用不会出现问题 该问题可能是由于迁移到 AndroidX 引起的 但我没有这方面的证据
  • 如何正确处理 ListView 内的 Android EditText 输入?

    在我的应用程序中 我有一个在 a 中添加 删除 编辑记录的活动SortedMap 该活动作为以下活动的延伸实施ListActivity 我已经实现了自定义ArrayAdapter对于收藏品 Every ListView项目 对应于基础记录

随机推荐

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

    我编写了一个模块 用户可以在其中读取或写入 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