0

我为 Sony 的 SmartWatch 编写了一个控制扩展。我想通过发送一个CONTROL_START_REQUEST_INTENT. 当手表处于“活动状态”时,这可以正常工作,例如显示钟面或我的分机。如果手表没有连接到充电器,它最终会暂停我的扩展,即使我用它来明确控制屏幕状态。

发送一个CONTROL_START_REQUEST_INTENT将导致onResume()被调用,但手表的显示不会改变。扩展的onTouch()方法也被调用用于触摸事件,所以我相当确定扩展处于其“正常”工作状态。如何让手表显示我的分机?

更新:我找到了这个问题的“解决方案”,但我无法想象这是正确的方法。在我的onResume()方法结束时,我放置了另一个startRequest(). 我发现这是通过在扩展暂停后手动发送启动请求来实现的。我无法理解为什么它会这样工作,这就是为什么我宁愿不接受它作为答案。

UPDATE2:结果我的解决方案并不像我预期的那样好。在第二个startRequest()出现之后,AHA 才开始第二个控制扩展。

4

1 回答 1

0

抱歉,我无法重现您的问题。1)当手表处于非活动状态时发送 START_REQUEST 仍然会启动扩展并将其置于前台。并且 2),当将屏幕状态设置为例如 SCREEN_STATE_ON 时,会将扩展留在前台。

你能更具体一点吗 - 例如

它最终会暂停我的扩展

您的扩展程序在前台运行多长时间?

您确定您正在控制屏幕状态,即将状态设置为例如 SCREEN_STATE_ON?SCREEN_STATE_AUTO 不会给你你需要的东西。

还有更多关于在此处正确发送 START_REQUEST 的信息。

于 2013-04-23T10:23:31.140 回答