2017-11-18 3 views
0

Ich habe eine Zeichenfolge, die eine URL des Bildes enthält, in der gleichen Aktivität sehe ich das Bild über URL. Aber um das gleiche Bild wie mein Hintergrundbild zu setzen, konvertiere ich die Zeichenfolge in Uri und dann in Bitmap, um setBitmap zu verwenden. Aber ich bekomme immer noch Fehler beim Erzählen Kein Bild wurde ausgewählt.Bitmap kann nicht mit wallpaperManager eingestellt werden

Der Code ist unten: newString hat die URL des Bildes.

final String myUrlStr = newString; 
    URL url; 
    Uri uri=null; 
    try { 
     url = new URL(myUrlStr); 
     uri = Uri.parse(url.toURI().toString()); 
    } catch (MalformedURLException e1) { 
     e1.printStackTrace(); 
    } catch (URISyntaxException e) { 
     e.printStackTrace(); 
    } 

    try { 
     image = MediaStore.Images.Media.getBitmap(this.getContentResolver(),uri); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    setButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      WallpaperManager wallpaperManager=WallpaperManager.getInstance(getApplicationContext()); 

      try { 
       // Set the image as wallpaper 
       if(image!=null) 
        wallpaperManager.setBitmap(image); 
       else 
        Toast.makeText(getApplicationContext(), "No image was chosen.", Toast.LENGTH_LONG).show(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

     } 
    }); 
+0

Dies könnte die Antwort sein, nach der Sie suchen. [zum Beitrag] (https://Stackoverflow.com/a/3090802/1712016) – phonemyatt

+0

@phonemyatt Ich habe immer noch nicht bekommen, wie der oben genannte Link gab, ist hilfreich. Kannst du mehr beschreiben? –

+0

@phonemyatt Ich habe bereits die URL. –

Antwort

0

Es scheint, als ob ich nicht kommentieren kann. Also antworte ich hier.

Ich bin mir nicht sicher, ob Ihre URL im Internet oder lokal ist. Ich finde nichts falsch mit Ihrem Code. Also, mein Abzug ist, dass Ihr onclicklistener eingestellt ist, bevor es Bild holen kann. (Möglicherweise muss asyntastask verwendet werden, um Bild zu speichern) Werden Sie auf Ihrer Bildansicht von der gleichen Bildquelle angezeigt?

Verwandte Themen