2013-03-03 10 views
6

Perché viene visualizzato un errore di ritiro nella riga contenente setWallpaper(bmp) e come posso risolverlo?Che cosa significa per un metodo essere deprecato e come posso risolvere gli errori risultanti?

Error: The method setWallpaper(Bitmap) from the type Context is deprecated

switch(v.getId()){ 
case R.id.bSetWallpaper: 
try { 
      getApplicationContext().setWallpaper(bmp); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     break; 
+0

Penso che tu abbia commesso un errore nella tua domanda. Puoi chiarire l'errore per noi, per favore? – christopher

+0

Sì, mi dispiace, ho modificato il post, l'ho perso per sbaglio. – TAM

+6

"deprecato" significa che non dovresti usarlo. –

risposta

11

Quando qualcosa è deprecato, significa che gli sviluppatori hanno creato un modo migliore di farlo e che non si dovrebbe più utilizzare il vecchio, o il modo deprecato. Le cose che sono deprecate sono soggette a rimozione in futuro.

Nel tuo caso, il modo corretto di impostare lo sfondo, se si dispone di un percorso di immagine è la seguente:

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); 

Se si dispone di un'immagine URI, quindi utilizzare il seguente:

wallpaperManager = WallpaperManager.getInstance(this); 
wallpaperDrawable = wallpaperManager.getDrawable(); 
mImageView.setImageURI(imagepath); 

Dalla domanda di Maidul alla domanda this.

+0

Grazie vedrò di provarlo quando tornerò al codice. – TAM

5

"deprecato" significa che il codice particolare che si sta utilizzando non è più il metodo consigliato per il conseguimento di tale funzionalità. Dovresti esaminare la documentazione per il tuo metodo dato e molto probabilmente fornirà un collegamento al metodo raccomandato nella sua posizione.

3
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(); 
} 
Problemi correlati