【问题标题】:How to launch app like Google's alarm app using alarm_manager in flutter?如何在颤动中使用警报管理器启动像谷歌警报应用程序这样的应用程序?
【发布时间】:2020-12-28 09:45:31
【问题描述】:

我正在使用 android alarm manager 在颤振中制作警报应用程序。

使用this hack,警报可以正常工作。 但是当背景发出警报时,某些设备无法启动我的应用程序存在问题。

例如,当设置闹钟并点击主页按钮时,只是调用了callback函数,应用还没有启动。

使用Samsung s8,在触发警报时启动应用程序。 但是模拟器sdk_gphone_x86_arm 和Samsung s10 不启动应用程序。

我想制作谷歌的闹钟应用,但有些设备无法启动应用。什么问题?

【问题讨论】:

标签: android flutter background alarmmanager


【解决方案1】:

最后,我用几天时间找到了解决方案!!

原因:

Android 10.0(Q) 阻止在后台启动 Active。可以看文档here。

解决方案:

  1. 将此添加到清单中 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
  2. 在您的 Flutter 应用中允许权限
    (路线:Setting -> Apps & notifications -> 你的 Flutter 应用 -> Advanced -> Display over other apps)

参考:

cannot start activity background in android 10, android Q

【讨论】:

  • 你能发一个完整的例子吗?
  • @Bassel Alkhateeb 我使用flutter-permission-handler,但没有系统警报窗口权限。所以我从this PR 分叉了repo。
  • @MaNDOOoo 嗨,您能否发布一个示例,说明您如何使用 android 警报管理器插件从后台启动您的应用程序?我真的很难做到这一点。
  • @Chris 我通过使用android_alarm_manager 插件的BroadcastReceiver 实现了这一点。这是我用于闹钟应用程序的code。希望这会有所帮助。
  • @MaNDOOoo 感谢您的回复。我想你不会愿意分享你的闹钟应用程序的代码来展示你是如何实现的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
相关资源
最近更新 更多