2013-11-24 37 views
0

我是一种新的android开发,我想设置家庭壁纸与可绘制的图像。 我写了这个代码设置,但在视觉Android设备起初我有对话,但未来不工作,当我点击背景我得到这个消息:android设置家庭壁纸使用意图从可绘制

“你需要使用摄像头之前插入SD卡......”

也是我需要用我作为绘制图像的源... 这里是我的代码:

Intent intent = new Intent(Intent.ACTION_ATTACH_DATA); 
MimeTypeMap map = MimeTypeMap.getSingleton(); 
String mimeType = map.getMimeTypeFromExtension("jpg");  
Uri uri = Uri.parse("@drawable/wall_7");   
intent.setDataAndType(uri,"image/jpeg"); 
intent.putExtra("mimeType", mimeType); 
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);  
this.startActivityForResult(Intent.createChooser(intent,"Set as"),200); 

和我将有一个可滑动的壁纸,而不是一个固定的形象。我用这个意图bcs它让用户裁剪图像。

回答

2

首先,你需要这个permession添加到您的manifest.xml

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

然后你可以使用这个使用wallpaperManager进行设置:

WallpaperManager wallpaperManager = WallpaperManager.getInstance(MyActivity.this); 
Drawable drawable = getResources().getDrawable(R.drawable.wallpaper_img); 
       Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); 
       wallpaperManager.setBitmap(bitmap); 

或者你可以使用this 使用意图设置壁纸

-3

您可以使用android:background标签直接在您的xml文件中设置背景。让我知道您是否有任何进一步的查询。

+0

问题是关于设置设备家庭壁纸图像,而不是为活动设置背景图像。 – Zeba