2012-10-12 2 views
0

J'ai plusieurs images et si j'utilise WallpaperManager puis il va définir le fond d'écran à ce qu'il est dit de définir comme fond d'écran. Comment puis-je utiliser toPhone et WallpaperManager?En utilisant WallpaperManager et toPhone

fichier Java (si nécessaire):

package hd.wallpaper.abs; 

import java.io.IOException; 

import android.app.Activity; 
import android.app.WallpaperManager; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageView; 

public class Main extends Activity implements View.OnClickListener { 

    ImageView display; 
    int toPhone; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_hd__wallpapers); 
     toPhone = R.drawable.eye; 

     display = (ImageView) findViewById(R.id.IVdisplay); 
     ImageView image1 = (ImageView) findViewById(R.id.IVimage1); 
     ImageView image2 = (ImageView) findViewById(R.id.IVimage2); 
     ImageView image3 = (ImageView) findViewById(R.id.IVimage3); 
     ImageView image4 = (ImageView) findViewById(R.id.IVimage4); 
     ImageView image5 = (ImageView) findViewById(R.id.IVimage5); 
     ImageView image6 = (ImageView) findViewById(R.id.IVimage7); 
     Button setWall = (Button) findViewById(R.id.setwallpaperbutton); 
     image1.setOnClickListener(this); 
     image2.setOnClickListener(this); 
     image3.setOnClickListener(this); 
     image4.setOnClickListener(this); 
     image5.setOnClickListener(this); 
     image6.setOnClickListener(this); 
     setWall.setOnClickListener(this); 
    } 

    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     switch (v.getId()) { 
     case R.id.IVimage1: 
     display.setImageResource(R.drawable.i1); 
     toPhone = R.drawable.i1; 
     break; 
     case R.id.IVimage2: 
     display.setImageResource(R.drawable.i2); 
     toPhone = R.drawable.i2; 
     break; 
     case R.id.IVimage3: 
      display.setImageResource(R.drawable.i3); 
      toPhone =R.drawable.i3; 
      break; 
     case R.id.IVimage4: 
      display.setImageResource(R.drawable.i3); 
      toPhone =R.drawable.i3; 
      break; 
     case R.id.IVimage5: 
      display.setImageResource(R.drawable.i3); 
      toPhone =R.drawable.i3; 
      break; 
     case R.id.IVimage7: 
      display.setImageResource(R.drawable.i3); 
      toPhone =R.drawable.solar; 
      break; 
     case R.id.setwallpaperbutton: 
      final WallpaperManager myWallpaperManager 
      = WallpaperManager.getInstance(getApplicationContext()); 
      final int fullWidth = myWallpaperManager.getDesiredMinimumWidth(); 
      final int fullHeight = myWallpaperManager.getDesiredMinimumHeight(); 
      try { 
      myWallpaperManager.setResource(R.drawable.i1); 
      } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      } 
      break; 

     } 

    } 
    } 
+0

Peut-être que [this] (http://stackoverflow.com/a/11953435/940096) donnera une idée. Jetez un oeil à ça. – Praveenkumar

+0

J'ai regardé cela avant de poster. Comme vous pouvez le voir dans mon Java j'ai le code wrttin correctement et encore des problèmes avec l'application. – user1695999

Répondre

0
case R.id.BsetWallpaper: 
      InputStream first = getResources().openRawResource(toPhone); 
     Bitmap close= BitmapFactory.decodeStream(first);  
     try{ 
      getApplicationContext().setWallpaper(close); 
     }catch (IOException e){ 
      e.printStackTrace(); 
     } 

espoir aide u.!

0

dans votre code

final WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext()); 
final int fullWidth = myWallpaperManager.getDesiredMinimumWidth(); 
final int fullHeight = myWallpaperManager.getDesiredMinimumHeight(); 
try { 
myWallpaperManager.setResource(R.drawable.i1); 

chaque fois que vous définissez R.drawable.i1 comme fond d'écran juste changer cela avec et-Tél devrait résoudre votre problème.