Wallpaper프로그램 작성해봣는데 으악~ 오유가 나오네요~

아래에 있는것이 소스코드입니다.

원인 좀 알려주실분 알려주면 감사합니다.

kimilmin111@gmail.com으로 연락주셔도 좋구요~


package com.android.livewallpaper;


import android.app.Activity;

import android.os.Bundle;

import java.io.IOException;

import android.app.WallpaperManager;

import android.graphics.Color;

import android.graphics.PorterDuff;

import android.graphics.drawable.Drawable;

import android.util.Log;

import android.view.View;

import android.view.WindowManager;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.Toast;

import android.graphics.BitmapFactory;

import android.graphics.Bitmap;


public class LiveWallpaperActivity extends Activity {

final static private int[] mColors =

        {Color.BLUE, Color.GREEN, Color.RED, Color.LTGRAY, Color.MAGENTA, Color.CYAN,

                Color.YELLOW, Color.WHITE};

private Bitmap mBitmapBackground;;

    

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        

        final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);

        final Drawable wallpaperDrawable = wallpaperManager.getDrawable();

        final ImageView imageView = (ImageView) findViewById(R.id.imageview);

        imageView.setDrawingCacheEnabled(true);

        imageView.setImageDrawable(wallpaperDrawable);


        mBitmapBackground = BitmapFactory.decodeResource(this.getResources(), R.drawable.back);

        Button randomize = (Button) findViewById(R.id.randomize);

        randomize.setOnClickListener(new OnClickListener() {

            public void onClick(View view) {

                int mColor = (int) Math.floor(Math.random() * mColors.length);

                wallpaperDrawable.setColorFilter(mColors[mColor], PorterDuff.Mode.MULTIPLY);

                imageView.setImageDrawable(wallpaperDrawable);

                imageView.invalidate();

            }

        });


        Button setWallpaper = (Button) findViewById(R.id.setwallpaper);

        setWallpaper.setOnClickListener(new OnClickListener() {

            public void onClick(View view) {

            Log.d("KIM", "KIM-setWallpaper button is clicked.");

                try {

                    wallpaperManager.setBitmap(mBitmapBackground);

                    finish();

                } catch (IOException e) {

                    e.printStackTrace();

                    Log.d("Kim", "KIM-Error.....");

                }

            }

        });

    }

    

}