0

Hi everyone I've check the post on the set wallpaper from URL but I am really new to programing and I still do not undertand it, could someone provide me with an example, basically I have an image on a server and I want to push a button and set it as the phone wallpaper thank you again for the help

public class TestingThree extends Activity {

ImageView image;

private class BackgroundTask extends AsyncTask
<String, Void, Bitmap> {
    protected Bitmap doInBackground(String...url) {
        //--- download an image ---
        Bitmap bitmap = DownloadImage(url[0]);
        return bitmap;

    }
    protected void onPostExecute(Bitmap bitmap) {
        ImageView image = (ImageView) findViewById(R.id.imageView1);
        image.setImageBitmap(bitmap);
    }
}

private InputStream OpenHttpConnection(String urlString)
throws IOException

{InputStream in = null;
int response= -1;

URL url = new URL(urlString);
URLConnection conn = url.openConnection();


if (!(conn instanceof HttpURLConnection ))
    throw new IOException("Not an HTTP connection");
try{
    HttpURLConnection httpConn = (HttpURLConnection) conn;
    httpConn.setAllowUserInteraction(false);
    httpConn.setInstanceFollowRedirects(true);
    httpConn.setRequestMethod("GET");
    httpConn.connect();
    response = httpConn.getResponseCode();
    if (response == HttpURLConnection.HTTP_OK){
        in = httpConn.getInputStream();
    }

    }
catch (Exception ex)
{
    throw new IOException("Error connecting");
}
return in;
}


private Bitmap DownloadImage(String URL)
{
    Bitmap bitmap = null;
    InputStream in = null;
    try {
        in = OpenHttpConnection(URL);
        bitmap = BitmapFactory.decodeStream(in);
        in.close();

    }
    catch (IOException e1){
        Toast.makeText(this,e1.getLocalizedMessage(),
        Toast.LENGTH_LONG).show();

        e1.printStackTrace();

    }
    return bitmap;
}


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.wallpaper);

    new BackgroundTask().execute("http://myglobaljournal.com/images/imagetest.jpg");

    Button setWallpaper = (Button) findViewById(R.id.button3);
    setWallpaper.setOnClickListener(new OnClickListener() {
        public void onClick(View view) {
            WallpaperManager wManager;
            Bitmap bitmap;

            try {
                bitmap = BitmapFactory.decodeFile(null);
                wManager = WallpaperManager.getInstance(getApplicationContext());
                wManager.setBitmap(bitmap);

            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    });
}

}

am trying to implement it to the button at the bottom where i pull the image from the link and set it directly as a wallpaper thank you again

tenorsax
  • 21,123
  • 9
  • 60
  • 107
user1385487
  • 65
  • 1
  • 9
  • what post, what didn't you understand, and why didn't you comment where the code was? – Nanne May 09 '12 at 19:33
  • Can you post the code you have tried? – Bobbake4 May 09 '12 at 19:35
  • sory about that the code link i dont understand is this one http://stackoverflow.com/questions/2205092/android-how-to-set-the-wallpaper-image – user1385487 May 09 '12 at 19:40
  • possible duplicate of [Android - how to set the wallpaper image](http://stackoverflow.com/questions/1964193/android-how-to-set-the-wallpaper-image) – Peter O. Jun 30 '13 at 06:14

1 Answers1

2

try this:

   ImageView image;
    private class BackgroundTask extends AsyncTask
    <String, Void, Bitmap> {
        protected Bitmap doInBackground(String...url) {
            //--- download an image ---
            Bitmap bitmap = DownloadImage(url[0]);
            return bitmap;
        }
        protected void onPostExecute(Bitmap bitmap) {
            ImageView image = (ImageView) findViewById(R.id.imageView1);
            bitmaptwo=bitmap;
            image.setImageBitmap(bitmap);
        }
    }
    private InputStream OpenHttpConnection(String urlString)
    throws IOException
    {InputStream in = null;
    int response= -1;
    URL url = new URL(urlString);
    URLConnection conn = url.openConnection();
    if (!(conn instanceof HttpURLConnection ))
        throw new IOException("Not an HTTP connection");
    try{
        HttpURLConnection httpConn = (HttpURLConnection) conn;
        httpConn.setAllowUserInteraction(false);
        httpConn.setInstanceFollowRedirects(true);
        httpConn.setRequestMethod("GET");
        httpConn.connect();
        response = httpConn.getResponseCode();
        if (response == HttpURLConnection.HTTP_OK){
            in = httpConn.getInputStream();
        }
        }
    catch (Exception ex)
    {
        throw new IOException("Error connecting");
    }
    return in;
    }
    private Bitmap DownloadImage(String URL)
    {
        Bitmap bitmap = null;
        InputStream in = null;
        try {
            in = OpenHttpConnection(URL);
            bitmap = BitmapFactory.decodeStream(in);
            in.close();
        }
        catch (IOException e1){
            Toast.makeText(this,e1.getLocalizedMessage(),
            Toast.LENGTH_LONG).show();

            e1.printStackTrace();
        }
        return bitmap;
    }
    public Bitmap bitmaptwo;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.wallpaper);
        new BackgroundTask().execute("http://myglobaljournal.com/images/imagetest.jpg");
        Button setWallpaper = (Button) findViewById(R.id.button3);
        setWallpaper.setOnClickListener(new OnClickListener() {
            public void onClick(View view) {
                WallpaperManager wManager;

                try {
                   // bitmap = BitmapFactory.decodeFile(null);
                    wManager = WallpaperManager.getInstance(getApplicationContext());
                    wManager.setBitmap(bitmaptwo);

                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        });


    }

Required Permission:

<uses-permission android:name="android.permission.SET_WALLPAPER"/>
ρяσѕρєя K
  • 132,198
  • 53
  • 198
  • 213