¿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
- Android KeyPairGenerator genera siempre el mismo par de claves
- Android: Cómo abrir el teclado virtual programáticamente en Vista Emoji
- ¿Cómo puedo depurar el consumo de memoria RAM de mi aplicación Android en tiempo de ejecución?
- ¿Cuál es la diferencia entre el constructor de Android y onCreate ()?
- ¿Es el cierre y la reapertura de las instancias de Realm malas para el rendimiento?
switch(v.getId()){ case R.id.bSetWallpaper: try { getApplicationContext().setWallpaper(bmp); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } break;
- Servicios de juegos de Google Play Configuración del proyecto LibGDX con los últimos juegos de BaseGameUtils
- NullPointerException en la animación de dissapearence de RecyclerView desde soporte v.23.2.0
- Manejo de errores en Volley (con futuros)?
- Ruta de intersección en android
- Error en la instalación de Multidex
- ¿Cuál es la forma correcta de manejar suscripciones en RxJava / RxAndroid para un ciclo de vida de actividad?
- Http Post Con El Cuerpo
- ActionBarSherlock y FragmentTabsPager
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.