Appwidget:有什么方法可以检查Appwidget当前是否显示在主屏幕上?
有什么方法可以检查Appwidget当前是否显示在主屏幕上?
场景是这样的,
我的主屏幕上有 4-5 个应用程序小部件。 我的主屏幕有三个工作区,我的小部件分布在这些工作区中。 现在我的目的是获取当前正在我的活动工作区中显示的应用程序小部件,即面向用户的应用程序小部件。
Is there any ways to check whether the Appwidget is currently being displayed on Home screen or not?
The scenario is like this,
I have 4-5 app widgets on my homescreen.
My Home screen has three workspaces and my widgets are distributed over these workspaces.
Now my intention is to get the appwidget that is currently being displayed in my active workspace, i.e. facing the user.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以采用一种棘手的解决方法来确定小部件是否显示在主屏幕之一上。
使用 AppWidget ID、Enabled_Flag、Update_dttm 创建 SQLite DB 表(切换 0 表示不显示,1 表示显示)
覆盖 AppWidget 的 OnEnabled 方法。每次调用 OnEnabled 时,都会切换 AppWidget ID 的 Enabled_Flag = 1。
更棘手且我没有答案的是“如何确定 AppWidget 正在哪个屏幕上显示?”
You can have a tricky workaround on determining whether the widget is being displayed on one of the homescreens.
Create a SQLite DB table with AppWidget ID, Enabled_Flag, Update_dttm (toggle 0 for not being displayed and 1 for being displayed)
Override the OnEnabled method for your AppWidget. Everytime the OnEnabled is called toggle the Enabled_Flag = 1 for the AppWidget ID.
What is trickier and I do not have answer to is "How to determine which screen the AppWidget is being displayed on?"