¿Qué significa que un método esté obsoleto y cómo puedo resolver los errores resultantes?
¿Por qué obtengo un error de depreciación en la línea que contiene setWallpaper(bmp)
y cómo puedo resolverlo?
Error: El método setWallpaper (Bitmap) del tipo Context está obsoleto
- Primeros intentos de crear el resultado del proyecto de aplicación en java.lang.NullPointerException error
- Android - Fade in / Fade out ActionBar Artículo cuando mostrar / ocultarlo
- Android cómo pasar un Activity.class como un argumento para una función
- ¿Android con maven? Apk desconocido
- ¿Por qué utilizar Context.MODE_PRIVATE o Context.MODE_WRITABLE?
switch(v.getId()){ case R.id.bSetWallpaper: try { getApplicationContext().setWallpaper(bmp); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } break;
- Android AlertDialog setOnDismissListener para API inferior a 17
- Cómo cargar una clase de una matriz de bytes en android?
- ¿Cómo puedo hacer que mis filas listview tengan diferentes alturas
- Diferencias entre IntelliJ IDEA 13 y Android Studio
- Eliminar ListView pie de página Click Listener
- Errores al grabar sonido en Android
- ¿Cómo bloquear una aplicación de Android mediante programación?
- Android.app.Application no se puede convertir en android.app.Activity
Cuando algo está obsoleto, significa que los desarrolladores han creado una mejor manera de hacerlo y que ya no debería estar utilizando la forma antigua o obsoleta. Las cosas que están obsoletas pueden ser eliminadas en el futuro.
En su caso, la forma correcta de configurar el fondo de pantalla si tiene una ruta de imagen es la siguiente:
is = new FileInputStream(new File(imagePath)); bis = new BufferedInputStream(is); Bitmap bitmap = BitmapFactory.decodeStream(bis); Bitmap useThisBitmap = Bitmap.createScaledBitmap( bitmap, parent.getWidth(), parent.getHeight(), true); bitmap.recycle(); if(imagePath!=null){ System.out.println("Hi I am try to open Bit map"); wallpaperManager = WallpaperManager.getInstance(this); wallpaperDrawable = wallpaperManager.getDrawable(); wallpaperManager.setBitmap(useThisBitmap);
Si tiene un URI de imagen, utilice lo siguiente:
wallpaperManager = WallpaperManager.getInstance(this); wallpaperDrawable = wallpaperManager.getDrawable(); mImageView.setImageURI(imagepath);
De la respuesta de Maidul a esta pregunta.
"Deprecated" significa que el código particular que está utilizando ya no es el método recomendado para lograr esa funcionalidad. Usted debe buscar en la documentación de su método dado, y es más que probable que proporcione un enlace al método recomendado en su lugar.
WallpaperManager myWallpaperManager=WallpaperManager.getInstance(getApplicationContext()); try { myWallpaperManager.setBitmap(bmp); } catch (IOException e) { Toast.makeText(YourActivity.this, "Ooops, couldn't set the wallpaper", Toast.LENGTH_LONG).show(); }
Debe utilizar WallpaperManager.setStream () en lugar de Context.setWallpaper (), ya que está obsoleto y puede eliminarse en las nuevas versiones de la API.