はじめに
AndroidWearのホーム画面の呼び名(WatchFaceでいいんですよね?)が検索ワードでもうまくヒットしなくて苦戦しました。
参考
こちらのgithubで公開されてるSampleソースを参考にしました。
github - PaulTR/AndroidDemoProjects
Custom Watch Face
で必死にググってたらたどり着きました。。。。
やりたかったこと
Wearは電池少ないとかもあって、すぐ画面が消灯モード?になるので表示時の画像とか背景をランダムにしたかった。(結局、チラチラ見て電池なくなる。。。)
プリインストールのPhotos
が、それっぽいことやってるから技術的にできないはずがないということで・・・調べてました。
実装してみた結果
静止画だと全然伝わりませんが、とりあえずdrawable
においてある10ファイルのpng
をランダムにonResume()
時に表示するようにして実現しました。
無理矢理実装した感じがすごい・・・
Wear側のAndroidManifest.xmlの設定
mobile側で実装して何か飛ばす感じかと思ってたのですが、普通にWear側にActivityを実装すればいいっぽいです。
パーミッションの設定
2つパーミッションが必要みたいです。
後者は知ってるけど、前者は新しいやつ?かなAndroid久しぶりなので、ちょっと自信ないです・・・たぶん新しいやつかと。
<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
intent-filterの設定
WatchFaceにしたいActivityのintetn-filterに以下を指定します。
これは初めてみた気がします。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="com.google.android.clockwork.home.category.HOME_BACKGROUND" />
</intent-filter>
あとは普通のActivityみたいにlayout.xmlに色々ImageViewとか配置してやるだけです。
思った以上に簡単でした。
何か補足等ありましたらお手やわらかに・・・