android wear(Watch)をスリープさせない方法

301 views
Skip to first unread message

加藤貴司

unread,
Oct 15, 2015, 7:44:44 AM10/15/15
to 日本Androidの会
android wearのスリープについて以下質問させてください.
android wearをつかって心拍数を取得しています.
任意の時間が経過すると,wearのライフサイクルでスリープしてしまいますが,wearをスリープさせない方法はありますでしょうか?? 

上記を参考に以下をonCreateに記述しましたが,実行してみるとスリープしてしまいます. 

————
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);

WakeLock wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "WatchFaceWakelockTag"); // note WakeLock spelling

wakeLock.acquire();
———
onCreateではないところに記述するのでしょうか??
初心者で申し訳ございませんが,ご教授いただければ幸いです.
よろしくお願いいたします.

kenji matsuoka

unread,
Oct 17, 2015, 9:48:14 AM10/17/15
to 日本Androidの会
onCreate()では生成時に一度しか実行されず、何かしらの理由でスリープに落ちるとそれから無視されるため
onAmbientModeChanged(boolean inAmbientMode){
}
内でinAmbientModeがfalseの時(AmbientModeから抜けた時)に実行するのが良いかと思います。
ただし、SCREEN_BRIGHT_WAKE_LOCKは非推奨ですし、後始末を忘れると厄介なので
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
を推奨します。

2015年10月15日木曜日 20時44分44秒 UTC+9 加藤貴司:

加藤貴司

unread,
Oct 18, 2015, 1:27:46 AM10/18/15
to 日本Androidの会
masuokaさま
ご回答有り難うございます.
>getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
>を推奨します。
layoutの.xmlに以下を指定した所,スリープしない効果がえられました.
android:keepScreenOn="true"
上記と同じと考えてよろしいでしょうか??
よろしくお願いいたします.


2015年10月17日土曜日 22時48分14秒 UTC+9 kenji matsuoka:
Reply all
Reply to author
Forward
0 new messages