在Android中设置壁纸

时间:2010-08-03 18:43:34

标签: java android wallpaper

我正在开发一个基于用户输入设置壁纸的简单应用程序。 我缺少设置壁纸的代码。 我一直在很多网站上寻找它是徒劳的。 任何人都可以将设置为壁纸的示例代码发布为保存在res文件夹中的drawable吗?

3 个答案:

答案 0 :(得分:4)

适用于Android 1.5及以上版本

public void setWallpaper() {
  Context context = this.getBaseContext(); 
  Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), mImageIds[pos]);

  context.setWallpaper(mBitmap);
}

答案 1 :(得分:1)

你可以尝试

InputStream inputStream = getResources().openRawResource(wallpaperResource);
Bitmap setWallToDevice = BitmapFactory.decodeStream(inputStream);

try {
getApplicationContext().setWallpaper(setWallToDevice);
} catch (IOException e) {
// TODO Auto-generated catch block
    e.printStackTrace();
}

但是这个方法已被弃用,所以你可以使用

try {
WallpaperManager.getInstance(getApplicationContext()).setResource(wallpaperResource);
} catch (IOException e){
e.printStackTrace();
}

答案 2 :(得分:0)

这里我们如何从我们的Android应用程序中设置壁纸

<强> MainActivity.Java

public class AlarmActivity extends Activity{



       @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);



            WallpaperManager myWallpaperManager
                    = WallpaperManager.getInstance(getApplicationContext());


                    try {
                        myWallpaperManager.setImageResource(R.raw.sample);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

    }
}

<强>的Manifest.xml

您应该提供此权限

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