2013-04-17 69 views
0

我已經爲Sony的SmartWatch編寫了控件擴展。我想通過發送一個CONTROL_START_REQUEST_INTENT來啓動它。當手表處於「活動」狀態時,此功能正常工作,正如顯示鐘面或我的分機一樣。如果手錶沒有連接到充電器,它最終會暫停我的擴展,即使我明確地使用它來控制屏幕狀態。當手表處於「待機」狀態時,SmartWatch Extension不顯示任何東西

發送一個CONTROL_START_REQUEST_INTENT將導致調用onResume(),但手錶的顯示不會改變。該擴展的onTouch()方法也被稱爲觸摸事件,所以我相當確信擴展處於其「正常」工作狀態。我怎樣才能讓手錶顯示我的分機?

更新:我發現這個問題的「解決方案」,但我無法想象這是做到這一點的正確方法。在我的onResume()方法的末尾,我放置了另一個startRequest()。我發現這可以通過在擴展暫停後手動發送啓動請求來實現。這超出了我爲什麼會這樣工作,這就是爲什麼我寧願不接受它作爲答案。

UPDATE2:原來我的解決方案並不是很好,就像我期望的那樣。在第二個startRequest()之後,AHA剛剛開始第二個控制擴展。

回答

0

對不起,但我不能重現你的問題。 1)當手表處於非活動狀態時發送START_REQUEST將仍然啓動分機並將其放在前臺。和2),當將屏幕狀態設置爲例如SCREEN_STATE_ON會將擴展名留在前臺。

你可以更具體一些 - 例如

將暫停我的分機最終

多久你能在前臺您的擴展?

您確定您正在控制屏幕狀態,即將狀態設置爲例如SCREEN_STATE_ON? SCREEN_STATE_AUTO不會給你你需要的。

有關正確發送START_REQUEST here的更多信息。