android - 自定义小部件主机启动器应用程序无法显示像数字时钟这样的小部件?
问题描述
我正在尝试使用小部件主机支持构建我自己的启动器应用程序,如在 android 启动器中托管小部件中所述。
这适用于模拟时钟等一些小部件,但不适用于数字时钟小部件。当我尝试添加数字时钟时,它变得不可见,而使用默认的家庭启动器它工作得很好。像 Note 这样的一些小部件也“部分”地出现在这段代码中。不使用默认启动器,它可以正常工作。
我正在使用 Marshmallow 和更高版本的 android,并且该行为对所有手机都很常见。
请分享是否有人遇到此问题并找到根本原因?或者指出我解决这个问题的方向。
解决方案
我终于找到了导致这个问题的问题。确保您的 Activity 中都有 onStart() 和 onStop() 实现(您在其中开始/停止收听)(所以不是您的片段!)。你也应该调用“getActivity().getApplicationContext()”而不是“getActivity()”/“getContext()”。
将公共 AppWidgetHost 和 AppWidgetManager 定义为 Activity 中的静态变量也很重要(这在片段中不起作用)。您可以通过将它们作为公共变量引用或为它们创建静态 getter 来访问它们。
对于任何问题,请随时回复,因为我被困了一天。
推荐阅读
- oracle - Oracle APEX - 没有前导零
- selenium - Webdriver-manager 错误:无法使用 *my config* 创建会话
- java - 我如何解决这种死锁情况?
- javascript - 当对象是另一个变量的一部分时使用对象内部的对象
- python - 使用期间列将月份添加到数据框
- ios - 根据 TableView 大小调整 ScrollView 的大小
- java - RXJava2 阻塞流直到条件满足
- angular - Primeng 可编辑行 - NullInjectorError:没有可编辑行的提供者
- c - f3discovery:尝试使用带有 I2C 模块的 lcd 屏幕 1602
- uima - 部分文本匹配 - Uima Ruta