android 设置壁纸,Android 代码设置壁纸的方式,兼容各大ROM
废话不多说,主要代码:
public static void intent2SetWallPaper(Context context, String path) {
Uri uriPath = getUriWithPath(path);
Intent intent;
// 针对EMUI
if (RomUtil.isHuaweiRom()) {
try {
ComponentName componentName = new ComponentName("com.android.gallery3d", "com.android.gallery3d.app.Wallpaper");
intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(uriPath, "image/*");
intent.putExtra("mimeType", "image/*");
intent.setComponent(componentName);
context.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
try {
WallpaperManager.getInstance(context.getApplicationContext()).setBitmap(ImageUtil.getImageBitmap(path));
} catch (IOException e1) {
e1.printStackTrace();
}
}
// 针对MIUI
} else if (RomUtil.isMiuiRom()) {
try {
ComponentName componentName = new ComponentName("com.android.thememanager", "com.android.thememanager.activity.WallpaperDetailActivity");
intent = new Intent("miui.intent.action.START_WALLPAPER_DETAIL");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(uriPath, "image/*");
intent.putExtra("mimeType", "image/*");
intent.setComponent(componentName);
context.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
try {
WallpaperManager.getInstance(context.getApplicationContext()).setBitmap(ImageUtil.getImageBitmap(path));
} catch (IOException e1) {
e1.printStackTrace();
}
}
// 其他
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
context.startActivity(WallpaperManager.getInstance(context.getApplicationContext())
.getCropAndSetWallpaperIntent(getUriWithPath(path)));
} else {
try {
WallpaperManager.getInstance(context.getApplicationContext()).setBitmap(ImageUtil.getImageBitmap(path));
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
使用方式:
1.添加依赖:
Step 1. 在你project层级的build.gradle中,添加仓库地址:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. 在你主module的build.gradle中添加依赖:
dependencies {
implementation 'com.github.SherlockGougou:SetWallpaper:v1.2.0'
}
2.调用代码:
SetWallpaper.setWallpaper(MainActivity.this, // 上下文
path, // 图片绝对路径
APP_AUTHORITY);// authority(7.0 文件共享权限)
android 设置壁纸,Android 代码设置壁纸的方式,兼容各大ROM相关推荐
- Android的手机ip代码设置------有图有真相
首先得说,这个用代码设置手机ip的功能并不常用,只适用于特殊场景需求,例如app刷下载量,不断地更换手机ip来下载应用市场的公司要的应用. 当然我又不得不吐槽各大应用厂商和谷歌7.0系统,现在的手机系 ...
- Android中发现java代码设置的字体过大
转自:http://www.2cto.com/kf/201211/170733.html //给一个id为name的TextView设置字体大小 TextView mName = (TextView ...
- Android之CheckBox进行代码设置setChecked(true)会触发setOnCheckedChangeListener事件
1 问题 我们对CheckBox设置了setOnCheckedChangeListener监听,代码里面对CheckBox单独代码进行设置勾选(setChecked(true))的时候,会触发OnCh ...
- 抖音上火的电脑代码cmd_抖音上的表白代码有哪些怎么弄 电脑代码设置生成方法...
近期在抖音之中流行起了许多表白的套路,最有意思的就是抖音表白代码怎么设置呢?为了帮助大家表白成功,小编特意带来了表白代码设置方法详解. 抖音表白代码怎么设置 方法一 msgbox("做我女朋 ...
- 一句代码设置 android 手机桌面视频壁纸
VideoWallpaper 项目地址:DingMouRen/VideoWallpaper 简介:一句代码设置 android 手机桌面视频壁纸 更多:作者 提 Bug 标签: VideoWal ...
- Android代码设置锁屏壁纸
设置锁屏时壁纸(不包括桌面壁纸) private void setLockWallPaper() {WallpaperManager wallpaperManager = WallpaperManag ...
- android 设置系统壁纸,Android HttpURLConnection下载网络图片设置系统壁纸
需求: 壁纸是url链接,get就能请求到,所以就用get请求到图片,把图片转化为bitmap,然后设置壁纸. 代码: 这里我封装了工具类 package xxxxx.utils; import an ...
- Android HttpURLConnection下载网络图片,设置系统壁纸
需求: 壁纸是url链接,get就能请求到,所以就用get请求到图片,把图片转化为bitmap,然后设置壁纸. 代码: 这里我封装了工具类 package xxxxx.utils;import and ...
- android4.1动态壁纸,Android 4.1 设置默认开机动态壁纸
需要修改的文件为: 找到SourceCode/framework/base/core/res/res/values/config.xml中的: @null 包名/动态壁纸服务名 比如将默认壁纸更改为& ...
最新文章
- 通信系统未编码、卷积码与格雷码的仿真性能比较
- PostgreSQL下安装pg_stat_statements
- python合并多个txt文件_python如何合并多个txt文件删除所有重复行并生成新文件
- 三星Galaxy S22 Ultra真机首曝:颜值与实力并存堪称完美
- GiraffeDet的学习笔记
- 巧妇难为无米之炊 走出软件测试的困境
- Pytorch——神经网络工具箱nn
- gcc g++ 参数
- 微信小程序点播音频服务器,微信小程序无法播放本地音频
- 谷尼国际软件-企业竞争情报系统
- PL0编译器分析与语法扩展
- org.apache.taglibs.standard.tlv.JstlXmlTLV scanned from multiple locations
- 文学-谚语-英文谚语:英文谚语
- android 视频画面拼接,Android实现视频剪切、视频拼接以及音视频合并
- 王者荣耀服务器维护到几点,今晚王者荣耀更新到几点 王者荣耀维护时间王者荣耀公告...
- 计算机网络延展-桥接器(网桥)
- 为了网络安全被束缚的无人机背后的故事!
- 10个常用的软件测试工具,你不容错过
- 计算机维护维修实训报告,计算机维护维修实训报告.doc
- OpenCV级联分类器训练与使用实战教程-贾志刚-专题视频课程