Androidで壁紙設定してみたよ
Android Home の壁紙を画像指定して変更します。
やり方
Bitmap bmp = BitmapFactory.decodeFile("(画像ファイル指定)");
setWallpaper(bmp);
これで壁紙の設定は完了です。
あとは、AndroidManifest.xml に以下の一文を添えるだけ!
<uses-permission android:name="android.permission.SET_WALLPAPER" />
これで終了。なんて簡単なのでしょう。
ソース
書きかけですが、実際に私が書いたソースもこちらで公開しておきます。
注意点
setBackgroundDrawableメソッド呼び出しは結構時間がかかります。
eclipse から起動した場合ですと、「(アプリ名)は応答していません。」エラーダイアログが表示されるかもしれません。
そういった場合は[待機]を選ぶか、デプロイ済みのアプリを Android側から起動すれば大丈夫かと思います。この現象は、eclipse から起動した場合だと Android側でデバッグモードになるため、アプリ側に余計な負荷がかかってしまうからです*1。
まとめ
はい、簡単でしたね。情報もかなり出回ってる内容なので、実装自体に苦労はありませんでした...「応答ありません」エラーにハマっちゃいましたが。
あと、Home のサイズに合った壁紙サイズだと正常に動作しますが、サイズが合わないとズレてしまいます。もう少し細かい画像操作ができると思いますので、また時間があるときに調べてみます。
参考サイト
Deeds Not Words-壁紙の設定方法
共に学びたいです。シンプルに実装できることが分かりました、ありがとうございます。
ん・ぱか工房-Androidメモ-壁紙の変更
晒しているコードの雛形にさせて頂きました。
*1:言い切りましたが実は微妙なとこ。どこかで読んだ記憶があるだけなため、ソースを提示することができません。