Flutter中的Android锁屏小部件?

Posted

技术标签:

【中文标题】Flutter中的Android锁屏小部件?【英文标题】:Android lock-screen Widget in Flutter? 【发布时间】:2017-10-22 12:59:28 【问题描述】:

从 Reddit 上的 /r/dartlang 交叉发布

我看到了 Flutter/Dart Google IO 演示文稿,并决定制作一个愚蠢的 android 应用程序。这很容易上手,但我找不到任何关于如何做一个简单的锁屏小部件的地方。

基本上我只想要一个定期轮询 JSON API 并在 android 锁屏上显示一些数据的应用。目前这可能与 Flutter 有关吗?

免责声明:我是一名基础架构/后端 python/golang 开发人员,从未编写过任何接近移动应用的东西。

【问题讨论】:

Android 锁屏自 Android 5.0 起已不支持应用小部件。 当时用户可能一直在询问桌面小部件。 应用小部件和桌面小部件有什么区别?我想要的只是显示来自通知下拉和锁定屏幕的一些实时数据。似乎有很多应用程序可以做到这一点(想到BeyondPod)。 Flutter 有一个“小部件”的概念,它是 Flutter 应用程序中的基本 UI 元素。类似于 React “组件”。我认为这个对话混淆了 android 小部件和 Flutter 小部件。 【参考方案1】:

App Widget 布局基于 RemoteViews,其中do not support 有多种视图小部件。因为FlutterView 扩展SurfaceView 以访问低级图形API,所以它不能嵌入到应用程序小部件中。

致quote CommonsWare:“您最多可以尝试编写自己的主屏幕实现来执行此操作。”但这比你想象的要大得多。

【讨论】:

【参考方案2】:

如果您正在寻找用于 Flutter 的主屏幕小部件,请使用 home_widget: ^0.1.5

HomeWidget 是一个插件,可让您更轻松地在 Android 和 ios 上创建 HomeScreen Widget。 HomeWidget 不允许使用 Flutter 本身编写 Widget。它仍然需要使用本机代码编写小部件。但是,它提供了一个统一的接口用于发送数据、检索数据和更新 Widgets

【讨论】:

以上是关于Flutter中的Android锁屏小部件?的主要内容,如果未能解决你的问题,请参考以下文章

仅在应用程序需要时显示锁屏小部件以控制应用程序

如何将 QVideoWidget 设置为全屏并在全屏小部件中有音量滑块?

将数据广播到 Flutter 中的多个小部件

如何从 Flutter-web 中的小部件创建图像?

如何让 Flutter 小部件适应不同的屏幕尺寸

iOS 和 Android Flutter 小部件是不是也适用于 Flutter Web(PWA)