java - 如何使用 firebase recyclerview 设置壁纸应用程序?

标签 java android firebase android-adapter android-wallpaper

我创建了一个壁纸应用,我使用 Firebase 将图像上传到数据库并将其显示给 RecyclerView

我可以通过 RecyclerView 查看在 Firebase 中上传的图像,还可以将该图像传递给另一个 Activity。

但我的问题是,我无法将图像设置为壁纸,当我设置按钮时图像消失。

我设置壁纸的代码:

 img = (ImageView) findViewById(R.id.images);
    Intent intent  = getIntent();
    String webUrl = intent.getStringExtra("URL");
    Picasso.get().load(webUrl).into(img);

    fab1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            WallpaperManager wallpaper = WallpaperManager.getInstance(getApplicationContext());
            try {
               wallpaper.setResource(+ R.drawable.pug);  //by using this code i can set a image in directory a wallpaper
                //wallpaper.setResource(+ R.id.images); //i tried this one it doesn't work it just crashes the app

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

我想要的是设置 ImageView 中显示的任何图像 有什么办法吗

最佳答案

我假设您已经获得了执行此操作的权限:

 <uses-permission android:name="android.permission.SET_WALLPAPER"/>

我不确定您想要实现什么目的,但我假设您希望用户从列表中选择图像并将其设置为壁纸。 您只能将 BitmapResource ID 传递给 WallpaperManager。在这种情况下,首先以 Bitmap 形式获取图像,然后加载到 ImageView 中。

由于您已经在使用 Picasso,因此可以执行以下操作:

Picasso.with(this).load(webUrl).centerCrop().into(new Target() { 
    @Override 
    public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
        wallpaper.setBitmap(bitmap);
    }
}

关于java - 如何使用 firebase recyclerview 设置壁纸应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56275322/

相关文章:

java - Java 中的正则表达式速度

Android - ViewPager 在空对象引用上设置适配器

java - Maven、Git、Android 和 Maven 发布插件

ios - 使用 firebase 和 Objective C 不接收推送通知

java - 是否有用于创建具有指定大小和内容的列表的实用方法?

java - 如何生成带有 xs :element which is optional using JAXB? 的 XSD

java - jar 文件可以在运行时重命名或删除自身吗?

java - 获取类之外的选项卡位置

ios - Swift Firebase 通知 "libc++abi.dylib: terminating with uncaught exception of type NSException"

Android Firebase valueEventListener 导致应用程序崩溃