我想设置画廊的壁纸。所选图像必须使用设备的 CropImage 类。
问题是每个设备都有不同的 CropImage 类,所以当我使用“Crop”操作时,设备的 CropImage 会打开,但并非全部设置为墙。
代码:
Intent cropperIntent = new Intent("com.android.camera.action.CROP", chosenImageUri);
cropperIntent.setDataAndType(chosenImageUri, "image/*");
cropperIntent.putExtra("crop", true);
cropperIntent.putExtra("aspectX", outSize.x);
cropperIntent.putExtra("aspectY", outSize.y);
cropperIntent.putExtra("outputX", outSize.x);
cropperIntent.putExtra("outputY", outSize.y);
cropperIntent.putExtra("width", outSize.x);
cropperIntent.putExtra("height", outSize.y);
cropperIntent.putExtra("scale", true);
cropperIntent.putExtra("noFaceDetection", true);
cropperIntent.putExtra("set-as-wallpaper", true); // for: com.android.gallery3d.app.CropImage
cropperIntent.putExtra("setWallpaper", true); // for: com.android.camera.CropImage
对于某些设备,它根本没有设置为墙纸(如 HTC)。也许必须设置另一个额外的东西,比如“设置为壁纸”和“设置为壁纸”......
是否有一种通用方法可以为所有设备设置带有裁剪器的壁纸?