Android sdk2.0のAPIを使用して壁紙を変更してみる
せっかく新しいAndroid sdk2.0が公開されたので
新しく使用できるようになった
WallpaperManager
を使用して壁紙を変更してみました。
以前はこんな感じで、Intentを使用すると壁紙変更画面が表示されユーザが画像を選択することができました。
以下のような選択画面が出てきて、選択することで壁紙を変更できました。
これがsdk 2.0からはWallpaperManagerを使用してユーザアプリケーションから壁紙を自由に変更できるようになったようです。実際に実行ファイル中に埋め込んだ画像を表示する方法を試してみました。こんな感じです。
uses-permissionの追加
まずはuses-permissionを追加
壁紙にしたい画像をdrawable/に配置
(画像はjpg・pngが対応してます)
ソースコードの作成
つづいて壁紙変更のソースコードの作成です。
WallpaperManagerのオブジェクトを生成し、res/内にあるhelo.jpgをセットします。
アプリを実行してみる
実際に実行してみましょう。
以下がデフォルト画像になります。(WallpaperManagerのclear()をコールするとこの画像になります。)
アプリを実行すると、
とくに変わった様子はないが、ホームに戻ってみると
壁紙が変わってる!
今回はres/内にある画像を使用しましたが、WallpaperManagerにはsetBitmapやsetStreamなどが用意されているためSDカード内にある画像や、ネットワークから受信してきた画像も壁紙に使用することができますね。
ちなみにSDカード内へのアクセスは、これでできます。
以上が、WallpaperManagerを使用した壁紙変更になります。結構簡単ですね。
・・・sdk2.0を使用しているのでAndroid OSも2.0に対応してないと端末では動かないので今回はエミュレータ上で動かしました。早く端末で動かしてみたいですね。







