本人刚接触android,想实现一个简单的功能,就是设置壁纸,但是又不知道要用到什么接口,用setBackgroundDrawableResource方法设置,退出程序后,桌面又回到了以前的那张,好像根本就没实现桌面壁纸的设置,望各位大侠不吝刺激,小弟感激不尽。谢谢!

解决方案 »

  1.   

    源码Launcher2里面有个java文件叫wallpaperChooser,就是用来干这个的。你可以看看。
      

  2.   

    Activity中
     this.setWallpaper(bitmap);
    这个是耗时操作建议最好线程包一下。
      

  3.   

    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            // 1.获取与给定Context关联的WallpaperManager
            final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
            // 2.获取当前系统壁纸
            final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
            final ImageView imageView = (ImageView) findViewById       (R.drawable.default_wallpaper);
            imageView.setDrawingCacheEnabled(true);
            imageView.setImageDrawable(wallpaperDrawable);
            try
            {
             wallpaperManager.setBitmap(imageView.getDrawingCache());
            }catch (IOException e)
            {
             e.printStackTrace();
            }   
        }
    为什么这样写会报错呢,错误是stoped unexpected。求解释,谢谢
      

  4.   

    你把获取系统壁纸的去掉 不用在找到那个default_wallpaper  直接用 setWallPaper方法 画上你的壁纸.
      

  5.   

    http://blog.csdn.net/column/details/launcher.html  
    http://blog.csdn.net/aomandeshangxiao/article/details/6767423
    看看这些文章对你有用吗 记得给分哦。