如何以编程方式设置壁纸?

时间:2012-02-20 09:56:00

标签: java android broadcastreceiver wallpaper

我想在手机启动时设置壁纸。 我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

在您的清单中添加此权限:

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

稍后在您的代码中:

WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);

Drawable drawable = getResources().getDrawable(R.drawable.wallpaper);

Bitmap wallpaper = ((BitmapDrawable) drawable).getBitmap();

wallpaperManager.setBitmap(wallpaper);

答案 1 :(得分:2)

您可以使用此方法设置壁纸。 请记住将壁纸图像放在res / raw目录中。(如果尚未制作,可以手动添加)

public void setWall(){

InputStream wall = getResources().openRawResource(wallpaper);

Bitmap back = BitmapFactory.decodeStream(wall);

try {

getApplicationContext().setWallpaper(back);

}

catch(IOException e) {

e.printStackTrace();

}}

和ofcourse在清单中设置权限:

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

这会将壁纸设置为手机,并在重启后保留。

答案 2 :(得分:0)

scheduler使用android crontab

编写脚本以从某个位置选择壁纸

在日期变更等条件下

在特定时间将此脚本安排到scheduler

所以它会在一天的那个时间运行并且会完成你的工作