Android sdk2.0のAPIを使用して壁紙を変更してみる

By Iguchi
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

せっかく新しいAndroid sdk2.0が公開されたので

新しく使用できるようになった

WallpaperManager

を使用して壁紙を変更してみました。

以前はこんな感じで、Intentを使用すると壁紙変更画面が表示されユーザが画像を選択することができました。

以下のような選択画面が出てきて、選択することで壁紙を変更できました。

ピクチャ 9

これがsdk 2.0からはWallpaperManagerを使用してユーザアプリケーションから壁紙を自由に変更できるようになったようです。実際に実行ファイル中に埋め込んだ画像を表示する方法を試してみました。こんな感じです。

uses-permissionの追加

まずはuses-permissionを追加

壁紙にしたい画像をdrawable/に配置

(画像はjpg・pngが対応してます)

 ピクチャ 10

ソースコードの作成

つづいて壁紙変更のソースコードの作成です。

WallpaperManagerのオブジェクトを生成し、res/内にあるhelo.jpgをセットします。

アプリを実行してみる

実際に実行してみましょう。
以下がデフォルト画像になります。(WallpaperManagerのclear()をコールするとこの画像になります。)

ピクチャ 5
アプリを実行すると、
ピクチャ 8
とくに変わった様子はないが、ホームに戻ってみると
ピクチャ 6

壁紙が変わってる!

今回はres/内にある画像を使用しましたが、WallpaperManagerにはsetBitmapやsetStreamなどが用意されているためSDカード内にある画像や、ネットワークから受信してきた画像も壁紙に使用することができますね。
ちなみにSDカード内へのアクセスは、これでできます。

以上が、WallpaperManagerを使用した壁紙変更になります。結構簡単ですね。

・・・sdk2.0を使用しているのでAndroid OSも2.0に対応してないと端末では動かないので今回はエミュレータ上で動かしました。早く端末で動かしてみたいですね。

関連する投稿