如果我关闭应用程序(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)
}
我有一台 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)
}