0

我必须通过调用默认系统操作将 sdcard 中的图像设置为墙纸。

4

1 回答 1

0
File file = new File(Environment.getExternalStorageDirectory(), "your_image.jpg");
String path = file.getAbsolutePath();
File imageFile = new File(path);

if(imageFile.exists()) {
    Bitmap bitmap = BitmapFactory.decodeFile(path);

    WallpaperManager mWallpaperManager = WallpaperManager.getInstance(this);

    try {
        mWallpaperManager.setBitmap(bitmap);
    } catch (IOException e) {
        e.printStackTrace();
    }
} 

在下面添加权限Menifest.xml

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

启动裁剪活动的代码:

Intent intent = new Intent("com.android.camera.action.CROP", myIntent.getData());
if (myIntent.getStringExtra("mimeType") != null) {
   intent.setDataAndType(myIntent.getData(), myIntent.getStringExtra("mimeType"));
}
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 96);
intent.putExtra("outputY", 96);
intent.putExtra("return-data", true);
startActivityForResult(intent, REQUEST_CROP_PHOTO);
于 2013-08-19T07:08:51.940 回答