我为索尼的SmartWatch编写了一个控件扩展。我想通过发送CONTROL_START_REQUEST_INTENT
来启动它。当手表处于“活动状态”时,这可以正常工作,如显示钟面或扩展。如果手表未连接到充电器,它将最终暂停我的分机,即使我用它来明确控制屏幕状态。
发送CONTROL_START_REQUEST_INTENT
会导致onResume()
被调用,但手表的显示不会改变。扩展的onTouch()
方法也被称为触摸事件,所以我很确定扩展处于“正常”工作状态。如何让手表显示我的扩展程序?
更新:我找到了解决这个问题的“解决方案”,但我无法想象这是正确的方法。在我的onResume()
方法结束时,我添加了另一个startRequest()
。我发现这可以通过在延期暂停后手动发送启动请求来实现。虽然它会起作用的原因超出了我的原因,这就是为什么我宁愿不接受它作为答案。
UPDATE2:事实证明我的解决方案并不是那么好,就像我预期的那样。在第二个startRequest()
之后,AHA才会启动第二个控件扩展。
答案 0 :(得分:0)
抱歉,但我无法重现您的问题。 1)当手表处于非活动状态时发送START_REQUEST仍将启动扩展并将其置于前台。 2),当将屏幕状态设置为例如SCREEN_STATE_ON会将扩展名留在前台。
你可以更具体一点 - 例如
它最终将暂停我的扩展程序
您可以将扩展程序放在前台多长时间?
您确定要控制屏幕状态,即将状态设置为例如SCREEN_STATE_ON? SCREEN_STATE_AUTO无法满足您的需求。
有关正确发送START_REQUEST here的更多信息。