ぺろぺろ会でのDaydreamまとめ #JB42 - ReDo

2012年11月19日

ぺろぺろ会でのDaydreamまとめ #JB42


jb-dream-1.png

※主に @95kugoの成果。

Android 4.2 API概要を見ればだいたい分かる
http://developer.android.com/about/versions/android-4.2.html#Daydream

・サンプルがついてこないけど試すのは楽。
・DreamService(extends Service)を継承してつくるのでServiceにできることはだいたいできる。
・setInteractiveしないと触ったら終了する
・自前でfinishしたら終了する
・デフォルトでsetFullScreen(true)だが、setFullScreen(false)だと時計とバッテリだけ右上に出る。プルダウンしてもQuick Settingsは出てこない。
・FragmentManagerが取れないのでFragmentは実質死亡、そもそもアプリスタック外のに所属するよとあるので画面遷移は想定されていない。
・View階層まわりは一通りなんでもできる模様。

・(言語設定が)英語ではDaydream、日本語ではスクリーンセイバー
・描画レイヤはLockScreenより前らしい。
・Toastを発行しても裏で表示される。残念。
・光学☆迷彩系よりは後ろ。
・Intent発行すると裏で起動する。比較的残念。
・IntentでキックするActivityが、LockScreenより前に出るお行儀の悪い子(*1)だと一応突破できる。
・Daydream系の関連クラスはSandman(砂かけて眠らせるやつ)とかSomnambulator(夢遊病の夢遊のこと)とかコメントとかもみんなノリノリでイラっとするw

// The sandman is eternal. No one instantiates him.
47 private Sandman() {
48 }

・Somnambulatorはextends Activityで実際Daydreamを起動しているActivity。themeを設定しているManifest部やコードが見つからず、透明なDaydreamは作れないらしい(*2)。

youtenの感想:iOSのSingle App Modeみたいなことできなくて残念、キャンペーンアプリとしてLivewallPaper超えるかと期待したけど微妙じゃないですかね?


(*1)onCreateでsuper()前にgetWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD)みたいな。

(*2)ViewRoot掘ってって黒い板にお前透明になれよとか言えばなるのかもしれない。

コメントする