Cómo colocar toda la imagen en la pantalla como fondo de pantalla

Estoy desarrollando una aplicación que selecciona una imagen de la galería y luego establece esa imagen como fondo de pantalla. Pero aquí el problema es que solamente la parte de la imagen se fija como papel pintado no toda la imagen, pero quiero fijar la imagen entera como el papel pintado. Puede por favor decirme cómo se puede hacer ???

Aquí está mi código …

public class Scaleimage extends Activity { /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String FileName; File file = new File("/sdcard/pictures"); File[] imageFiles = file.listFiles( ); if(imageFiles.length > 0 ) { FileName = imageFiles[0].getName(); final WallpaperManager wallpaperManager = WallpaperManager.getInstance(getBaseContext()); Bitmap myBitmap = BitmapFactory.decodeFile("/sdcard/pictures" + "/" + FileName); DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int height = displayMetrics.heightPixels; int width = displayMetrics.widthPixels << 1; myBitmap = Bitmap.createScaledBitmap(myBitmap,width, height, true); try { wallpaperManager.setBitmap( myBitmap); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 

Establecer tamaño de fondo de pantalla a su tamaño de imagen:

 WallpaperManager wm = (WallpaperManager) getSystemService(WALLPAPER_SERVICE); wm.setBitmap(bitmap); wm.suggestDesiredDimensions(w, h); 

Y recuerda agregar permisos:

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

Pruébelo he probado que está trabajando Espero que te ayude:

 final WallpaperManager wallpaperManager = (WallpaperManager)getSystemService( Context.WALLPAPER_SERVICE); Bitmap myBitmap = Bitmap.createScaledBitmap(Const.cropped_bitmap, wallpaperManager.getDesiredMinimumWidth(), wallpaperManager.getDesiredMinimumHeight(), true); wallpaperManager.suggestDesiredDimensions(wallpaperManager.getDesiredMinimumWidth(), wallpaperManager.getDesiredMinimumHeight()); try { wallpaperManager.setBitmap(myBitmap); Toast.makeText(CropImageActivity.this, CropImageActivity.this.getString(R.string.wallpaper_has_been_set), 0).show(); } catch (IOException e) { e.printStackTrace(); Toast.makeText(CropImageActivity.this, "Wallpaper not set", 0).show(); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.