-
今天公司让弄一个把图片和视频设置为屏保和壁纸的功能,刚开始在网上找了很多资料 设置壁纸很好实现 一句话就可以了,这个可以参考这个人写的代码 图片视频设置为壁纸 但是实现设置锁屏屏保就不大好实现了,后来想了想 如果能跳转到系统设置壁纸的界面 由用户自己选择设置壁纸 或者 屏保不就行了 于是百度,最后整理出来 有需要的拿走 直接上代码
-
MainActivity
package com.wallpaper.sample;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import java.io.File;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
/**
* 设置壁纸
*/
private TextView mAaadfa;
/**
* 设置图片壁纸
*/
private TextView mPicWallPaper;
/**
* 设置视频壁纸
*/
private TextView mVideoWallPaper;
private WallPaperUtil paperUtil;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
initView();
paperUtil = new WallPaperUtil(this);
}
private void initView() {
mAaadfa = (TextView) findViewById(R.id.picWallPaper);
mAaadfa.setOnClickListener(this);
mPicWallPaper = (TextView) findViewById(R.id.picWallPaper);
mPicWallPaper.setOnClickListener(this);
mVideoWallPaper = (TextView) findViewById(R.id.videoWallPaper);
mVideoWallPaper.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
default:
break;
case R.id.picWallPaper:
File file = new File(Environment.getExternalStorageDirectory() + "/bbb.jpg");
if (RomUtil.isEmui()) {
paperUtil.setHuawei(file.getAbsolutePath(), getUri(file));
return;
}
if (RomUtil.isMiui()) {
paperUtil.setXiaomi(file.getAbsolutePath(), getUri(file));
return;
}
if (RomUtil.isOppo()) {
paperUtil.setOppo(file.getAbsolutePath(), getUri(file));
return;
}
if (RomUtil.isVivo()) {
paperUtil.setVivo(file

本文介绍了一个Android应用的功能实现,该应用允许用户将图片和视频设置为壁纸和屏保。通过检查手机ROM类型(如华为、小米、OPPO、VIVO等),调用相应的系统设置界面,让用户自行选择设置。代码包括了`MainActivity`、`WallPaperUtil`和`RomUtil`类,涉及到文件路径适配、权限设置以及不同品牌手机的API调用。
最低0.47元/天 解锁文章
513

被折叠的 条评论
为什么被折叠?



