如果我关闭应用程序(X 右上角)并收到通知,ChromeOS startActivity 将不起作用

ChromeOS startActivity does not work if I close app (X top right) and get a notification

我有一台 ChromeOS 100 Acer Chromebook 314。 我打开应用程序,登录,然后从右上角关闭它。 然后我收到一条通知,我 运行 这个代码:

 try {
                    val intentActivity = Intent(context, IncomingCallActivity::class.java)
                    intentActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS)
                    context.startActivity(intentActivity)
                } catch (e: Exception) {
                    FL.e(TAG, "makeCall()::Failed -> cannot start activity: ${e.message}")
                }

这不会失败,但不会打开 activity。

我也试过:

  PendingIntent.getActivity(context, 12346, intentActivity, PendingIntent.FLAG_IMMUTABLE).send()

但同样的问题。这在手机上工作正常。但是在手机上,我 运行 从 ConnectionService.onShowIncomingCall 中获取了这个。我不能使用它,因为 chromeOS api 中没有 ConnectionService。有什么办法可以让我的 activity 始终正常显示吗?

通过请求 drawOverlays 的权限修复了它

 if (!Settings.canDrawOverlays(context)) {
                    val intent = Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:${context.packageName}"))
                    resultLauncher.launch(intent)
                }