Domanda

E 'possibile impostare l'immagine wallpaper android programatically? Mi piacerebbe creare un servizio che scarica un'immagine dal web e aggiorna periodicamente lo sfondo della schermata di casa.

È stato utile?

Soluzione

questa pagina sul sito degli sviluppatori:

public void setStream (InputStream data)
  

Cambia lo sfondo attuale sistema ad un flusso di byte specifica. InputStream danno viene copiato nella memoria permanente e verrà ora utilizzato come sfondo. Attualmente deve essere o un'immagine PNG JPEG o.

Altri suggerimenti

Se avete URL immagine quindi utilizzare

WallpaperManager wpm = WallpaperManager.getInstance(context);
InputStream ins = new URL("absolute/path/of/image").openStream();
wpm.setStream(ins);

Se si dispone di un'immagine URI quindi usare

WallpaperManager wpm = WallpaperManager.getInstance(context);
wpm.setResource(Uri.of.image);

Nel file manifest:

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

Se si dispone di bitmap di immagine di quello che sarà aggiungere questa funzione per impostare come sfondo:

  public void SetBackground(int Url) {

    try {
        File file = new File("/sdcard/sampleimage");
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), Url);
        bitmap.compress(CompressFormat.JPEG, 80, new FileOutputStream(file));
        Context context = this.getBaseContext();
        context.setWallpaper(bitmap);            
        Toast.makeText(getApplicationContext(), "Wallpaper has been set",             Toast.LENGTH_SHORT).show();            
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }         
}

si dovrebbe aggiungere il permesso per questo

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

spero che funzionerà

OK Ecco come farlo prima di api 2.0:

È necessario chiamare getApplicationContext.setWallpaper () e passarlo bitmap.

Questo metodo è ora sconsigliato. Si veda la risposta di ChrisF per i dettagli sul nuovo metodo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top