以编程方式设置android手机的背景

时间:2013-11-18 17:25:55

标签: android

我想允许用户从图像列表中选择背景,用户点击其中一个图像并将该图像用作手机的背景。 我的应用程序应该只是Android默认库的另一个版本。

是否可以通过编程方式设置手机的壁纸?

2 个答案:

答案 0 :(得分:57)

首先,您需要在Manifest.xml文件中设置权限

 <uses-permission android:name="android.permission.SET_WALLPAPER"/>

你可以用这个来设置背景:

Button buttonSetWallpaper = (Button)findViewById(R.id.set);
ImageView imagePreview = (ImageView)findViewById(R.id.preview);
imagePreview.setImageResource(R.drawable.five);

buttonSetWallpaper.setOnClickListener(new Button.OnClickListener(){
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            WallpaperManager myWallpaperManager 
            = WallpaperManager.getInstance(getApplicationContext());
            try {
                myWallpaperManager.setResource(R.drawable.five);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
}});

答案 1 :(得分:9)

您可以使用WallpaperManager class设置壁纸。例如:

WallpaperManager wallpaperManager =
        WallpaperManager.getInstance(getApplicationContext());
wallpaperManager.setBitmap(someBitmap);