国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android HttpURLConnection下載網絡圖片設置系統壁紙

2019-10-21 21:36:38
字體:
來源:轉載
供稿:網友

需求:

壁紙是url鏈接,get就能請求到,所以就用get請求到圖片,把圖片轉化為bitmap,然后設置壁紙。

代碼:

這里我封裝了工具類

package xxxxx.utils; import android.app.Activity;import android.app.WallpaperManager;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Environment;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL; /** * 設置壁紙 * 1、下載網絡圖片,使用HttpURLConnection * 2、設置壁紙 * Created by zst on 2018/10/15. */ public class HttpURLConnectionUtil {   /**   * 設置系統壁紙   * 1、把網絡圖片設置系統壁紙   * 2、因為谷歌不維護其他框架了,所以使用HttpURLConnection來下載和配置   *   * @param activity   * @param imgUrl   */  public static void setWallpaper(final Activity activity, final String imgUrl) {    //Log.e("壁紙", "鏈接:" + imgUrl);     new Thread(new Runnable() {      @Override      public void run() {        try {          URL httpUrl = new URL(imgUrl);//獲取傳入進來的url地址 并捕獲解析過程產生的異常          //使用是Http訪問 所以用HttpURLConnection 同理如果使用的是https 則用HttpsURLConnection          try {            HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();//通過httpUrl開啟一個HttpURLConnection對象            conn.setReadTimeout(5000);//設置顯示超市時間為5秒            conn.setRequestMethod("GET");//設置訪問方式            conn.setDoInput(true);//設置可以獲取輸入流             InputStream in = conn.getInputStream();//獲取輸入流             //創(chuàng)建一個寫入ID卡的文件對象            FileOutputStream out = null;            File download = null;            String filename = String.valueOf(System.currentTimeMillis());//獲取系統時間            //判斷文件是否存在  Environment.MEDIA_MOUNTEDID卡是否掛載 如果是則創(chuàng)建文件對象            if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {              File parent = Environment.getExternalStorageDirectory();//獲取ID卡目錄              download = new File(parent, filename);//在父類的目錄下創(chuàng)建一個以當前下載的系統時間為文件名的文件               out = new FileOutputStream(download);            }             byte[] b = new byte[2 * 1024];            int len;            if (out != null) {//id卡如果存在 則寫入              while ((len = in.read(b)) != -1) {                out.write(b, 0, len);              }            }             //讀取該文件中的內容            final Bitmap bitmap = BitmapFactory.decodeFile(download.getAbsolutePath());            activity.runOnUiThread(new Runnable() {              @Override              public void run() {                //設置圖片為壁紙                //Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),R.drawable.bg_user_top);//設置項目res中的圖片                WallpaperManager manager = WallpaperManager.getInstance(activity);                try {                  manager.setBitmap(bitmap);                  UiUtil.showToastLong(activity, "壁紙設置成功,請在桌面上查看");                } catch (IOException e) {                  UiUtil.showToast(activity, "壁紙設置成失敗");                  e.printStackTrace();                }              }            });           } catch (IOException e) {            e.printStackTrace();          }         } catch (MalformedURLException e) {          e.printStackTrace();        }       }    }).start();  } }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 集安市| 紫金县| 镇沅| 哈尔滨市| 右玉县| 阿坝县| 巨野县| 淳化县| 庆安县| 濮阳市| 武功县| 陆河县| 洞口县| 儋州市| 马鞍山市| 福清市| 万全县| 大方县| 迁安市| 田东县| 河津市| 老河口市| 突泉县| 枣阳市| 维西| 北安市| 吴川市| 潼关县| 天峻县| 桦南县| 新安县| 阿鲁科尔沁旗| 青田县| 交城县| 万盛区| 桐庐县| 武夷山市| 延庆县| 稷山县| 高雄县| 稷山县|