代码之家  ›  专栏  ›  技术社区  ›  James Cadd

安卓-如何设置壁纸图像

  •  25
  • James Cadd  · 技术社区  · 15 年前

    4 回复  |  直到 15 年前
        1
  •  22
  •   ChrisF    15 年前

    从…起 this page 在开发商网站上:

    public void setStream (InputStream data)
    

        2
  •  32
  •   Kishore    12 年前

    如果您有图像URL,则使用

    WallpaperManager wpm = WallpaperManager.getInstance(context);
    InputStream ins = new URL("absolute/path/of/image").openStream();
    wpm.setStream(ins);
    

    如果您有图像URI,那么使用

    WallpaperManager wpm = WallpaperManager.getInstance(context);
    wpm.setResource(Uri.of.image);
    

    <uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>
    
        3
  •  5
  •   djk    13 年前

    如果您有图像位图,您将添加此功能以设置为壁纸:

      public void SetBackground(int Url) {
    
        try {
            File file = new File("/sdcard/sampleimage");
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), Url);
            bitmap.compress(CompressFormat.JPEG, 80, new FileOutputStream(file));
            Context context = this.getBaseContext();
            context.setWallpaper(bitmap);            
            Toast.makeText(getApplicationContext(), "Wallpaper has been set",             Toast.LENGTH_SHORT).show();            
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }         
    }
    

    您应该为此添加权限

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

    希望它能起作用

        4
  •  4
  •   Richard Le Mesurier    13 年前

    好的,以下是在api 2.0之前的操作方法:

    现在不推荐使用此方法。有关新方法的详细信息,请参见ChrisF的答案。