android 获取当前壁纸的Drawable对象或者Bitmap。如何获取这张图片的ID或者名称。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 获取当前壁纸的Drawable对象或者Bitmap。如何获取这张图片的ID或者名称。相关的知识,希望对你有一定的参考价值。

我是想点击按钮 获取当前壁纸,然后根据一定的时间自动更换壁纸,关闭后恢复点击之前的壁纸。
现在的问题是:我如何获取当前壁纸的ID, 我可以获取其Drawable 和 Bitmap对象!但是 我想的是:关机之后重启仍然能够记住当前壁纸, 我试过把这个bitmap保存文件,但是老出错。我就想着能把这个ID SharedPreferences 保存方便一些。

如何活动名称或者ID呢。现在只要知道其中一个就可以。

参考技术A 如果图片放在android的资源文件夹中,就用反射,获取他的名字,然后自己去截取、反射应该懂吧。。如果不是,在本地的文件夹、就更简单了,直接用文件获取名字。如果不懂反射就M。。 参考技术B 每个图片资源都保存在R.drawable.xxx,这个就是你图片资源的,建议你用一个hashmap,给这些图片一个键值对应的存储,当前壁纸就用SharedPreferences 保存键名,下次再onCreate的时候获取SharedPreferences 保持的键名,再到haashmap里提取资源的id。
我们做桌面更好主题就这样搞的。追问

谢谢您,学到知识了。 还有个问题 我如何确定我当前壁纸是哪一张呢? 也就是说,我获取当前图片名称或者ID都行,但是我只获取了当前壁纸的Drawable对象。

追答

当前壁纸就是用图片名保存吧

追问

谢谢您,我是获取不到图片名字和ID 只获取到了drawerable对象 我试试二楼的反射

Android图片资源获取原则

    通常图片资源文件夹有drawable、drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xdpi、drawable-xxdpi等,如果手机屏幕本来应该是对应drawable-xxdpi的,,但是drawable-xxdpi中没有图片,则它会往drawable-xxxdpi里取图片,实在没有,从drawable-xdpi里拿。

总结:图片资源优先获取自己对应分辨率的图片,如果没有,往高处拿,其实不行往低处拿,以此类推。

本文出自 “旦旦家园” 博客,转载请与作者联系!

以上是关于android 获取当前壁纸的Drawable对象或者Bitmap。如何获取这张图片的ID或者名称。的主要内容,如果未能解决你的问题,请参考以下文章

获取当前壁纸

Android 修改默认壁纸

Android 11.0 修改默认壁纸

如何从 android 包中的资源 id 获取 Drawable 对象?

Android,想获取这个对象里面的Drawable应该使用那个方法?

我们可以通过 react native 获取当前的壁纸图像吗?