android设置家庭壁纸使用drawable的意图

时间:2013-11-24 21:01:27

标签: android android-intent drawable wallpaper

我是android开发的新手,我想用可绘制的图像设置家庭壁纸。 我写了这个代码用于设置,但不工作,在视觉Android设备起初我有对话但下一次当我点击作为背景我收到此消息:

  

“你需要在使用相机之前插入SD卡......”

我还需要使用我的drawable作为图像来源...... 这是我的代码:

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 个答案:

答案 0 :(得分:2)

首先,您需要将此渗透添加到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 使用意图设置壁纸

答案 1 :(得分:-3)

您可以使用android:background tag直接在xml文件中设置背景。如果您有任何进一步的疑问,请告诉我。