【问题标题】:How to set a background image on the user's phone from a url如何通过 url 在用户手机上设置背景图片
【发布时间】:2018-12-26 04:34:53
【问题描述】:

我有一个 GridView,我在其中使用带有 URL 的 Picasso 库加载一堆图像。

我正在寻找一种允许用户拾取图像然后将拾取的图像设置为用户手机背景的方法。

我唯一需要知道的是如何获取该网址(我已经将该网址选为字符串)并将其设置为用户手机中的背景。

我正在使用 Android Studio。

【问题讨论】:

    标签: java android android-studio


    【解决方案1】:

    首先,您需要下载该图像并获取其位图,请参阅this answer

    然后可以调用WallpaperManager设置背景,见this answer

    【讨论】:

    • 谢谢。现在我已经将该网址的背景设置到用户的手机中,我给你发了一个截图。圣诞快乐。 imgur.com/a/dXKZ35h
    【解决方案2】:

    使用像 Picasso 这样的图像加载库。使用 Picasso,您需要在点击监听器中添加以下内容:

    Handler uiHandler = new Handler(Looper.getMainLooper());
        uiHandler.post(new Runnable(){
            @Override
            public void run() {
                Bitmap result=Picasso.with(context)
                      .load(imageURL)
                      .get();
    
             WallpaperManager wallpaperManager = WallpaperManager.getInstance(context);
                    try {
                        wallpaperManager.setBitmap(result);
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }
            }
        });
    

    【讨论】:

    • 嗨。我的代码出现下一个错误:方法调用不应该从主线程发生
    • Picasso 使用异步调用,因此您可以在另一个线程中使用此代码(检查更新)
    猜你喜欢
    • 2017-01-04
    • 2021-07-19
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多