【发布时间】:2010-08-03 18:43:34
【问题描述】:
我正在开发一个基于用户输入设置壁纸的简单应用。
我缺少设置壁纸的代码。
我一直在寻找它在很多网站都是徒劳的。
任何人都可以发布一个示例代码,将设置为墙纸的可绘制对象保存在res 文件夹中吗?
【问题讨论】:
我正在开发一个基于用户输入设置壁纸的简单应用。
我缺少设置壁纸的代码。
我一直在寻找它在很多网站都是徒劳的。
任何人都可以发布一个示例代码,将设置为墙纸的可绘制对象保存在res 文件夹中吗?
【问题讨论】:
适用于 Android 1.5 及更高版本
public void setWallpaper() {
Context context = this.getBaseContext();
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), mImageIds[pos]);
context.setWallpaper(mBitmap);
}
【讨论】:
你可以试试
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();
}
【讨论】:
我们如何从我们的 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" />
【讨论】: