2012年1月30日月曜日

[Android]ロックスクリーン上にもViewを表示させる

みなさん楽しくAndroidしてますか?Android端末はやっぱりいろいろ自分で弄れるのが良いですよね。ええ。某リンゴのスマフォじゃロックスクリーンを変えるっていうジョークアプリがちょっと物議を醸したりしてましたが、Androidじゃロックスクリーンすら変更ができます。うん、すばらしい。

でもロックスクリーンって端末によっちゃけっこうイカしたのがあって、変えてしまうのがオシいんですよ。でも不便なままで使うのは嫌だし・・・ 個人的には今のロックスクリーンにバッテリー残量とTwitterのリプライが表示されたら最高なんです。なんでそんな機能無いんですか!ふざけんな!

頭に来たので自作しましょう。本日のメニューは「ほぼ完璧に最前面に出るView」でございます。ロックスクリーンですら彼を隠せません。さあ、ロックスクリーン上にいやらしいほどに居座ってやりましょう!

具体的にその最前面のViewを作るには以下のコードでできます。
また、これを実行するためには以下の権限が必要です。あわせてマニュフェストに記載しておきましょう。 WindowManagerを使ってViewを出した時は、きちんと後始末も自分でしておきましょう。removeView()を忘れると居残りされます。邪魔くさくて仕方ないんだこれ。
実際のところは、このコードをServiceあたりに実行させるのがオススメです。Activityでやらせると、Activityのライフサイクルに引きずられて面倒なことになる。

実際にServiceで動かしてるサンプルコードを、GitHubに公開してみました。Gitれる人は試してみると美味しいかもしれません。Gitれない人もブラウザでコードは見れるので参考にどうぞ。
ロックスクリーンの上に何かを表示するサンプル

0 件のコメント:

コメントを投稿