如何检测我是否为发布的通知(日志除外)未创建NotificationChannel?

时间:2019-07-14 09:54:51

标签: android notifications android-8.0-oreo

我正在为Android上的通知构建基础结构,一旦创建了NotificationChannel,似乎该通道仍然存在,而我的应用程序通过编译,安装和强制停止一遍又一遍被杀死并重新启动

NotificationChannels何时死亡?仅在设备重启时?

我已经在我的代码中创建了一个这样的频道:

private void createNotificationChannel() {
        // Create the NotificationChannel, but only on API 26+ because
        // the NotificationChannel class is new and not in the support library
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O)
            return;
        NotificationChannel channel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);
        channel.setDescription(NOTIFICATION_CHANNEL_DESCRIPTION);
        mNotificationManager.createNotificationChannel(channel); // Register the channel with the system; you can't change the importance or other notification behaviors after this
    }

然后,我删除了频道创建代码,重新编译并重新安装,然后使用评估表达式来查看我创建的频道是否存在,如下所示:

mNotificationManager.getNotificationChannel("NotificationChannelId") != null

...通道仍然存在!我的问题是,在重新编译并重新安装之后,通道仍然存在并且仍然存在,并且我无法为客户端引发运行时异常开发人员,因为未创建频道时无法正确检测。 我已确保我的apk已构建并安装了所有更改(表示更改并未创建通道),但该通道仍然存在。

即使应用程序死后该通道仍然存在,如何检测到该通道仍未创建?

0 个答案:

没有答案