android中代码是如何实现调用动态壁纸的

android中代码是如何实现调用动态壁纸的,第1张

调用后动态壁纸其实是显示在Activity的后面,而Activity则是透明显示,这样就可以看到下面的动态壁纸,如果Activity不是透明的则什么也看不到。

代码中有用到两个接口

IWallpaperService mService;

IWallpaperEngine mEngine;

我们可以看到该目录下面有三个aidl接口,分别是

interface IWallpaperConnection {

void attachEngine(IWallpaperEngine engine);

ParcelFileDescriptor setWallpaper(String name);

}

oneway interface IWallpaperService {

void attach(IWallpaperConnection connection,

IBinder windowToken, int windowType, boolean isPreview,

int reqWidth, int reqHeight);

}

oneway interface IWallpaperEngine {

void setDesiredSize(int width, int height);

void setVisibility(boolean visible);

void dispatchPointer(in MotionEvent event);

void dispatchWallpaperCommand(String action, int x, int y, int z, in Bundle extras);

void destroy();

}

定义壁纸管理和壁纸信息变量

private WallpaperManager mWallpaperManager = null;

private WallpaperInfo mWallpaperInfo = null;

private WallpaperConnection mWallpaperConnection = null;

private Intent mWallpaperIntent;

初始化这些变量

mWallpaperManager = WallpaperManagergetInstance(this);

mWallpaperInfo = mWallpaperManagergetWallpaperInfo();//如果返回null则说明当前不是动态壁纸

mWallpaperIntent = new Intent(WallpaperServiceSERVICE_INTERFACE);

mWallpaperIntentsetClassName(mWallpaperInfogetPackageName(), mWallpaperInfogetServiceName());

绑定动态壁纸服务

bindService(mIntent, this, ContextBIND_AUTO_CREATE);

IWallpaperService mService;//这里有一个adil接口

在连接监听中试着attach

public void onServiceConnected(ComponentName name, IBinder service) {

mService = IWallpaperServiceStubasInterface(service);

try {

mServiceattach(this, viewgetWindowToken(),

// WindowManagerLayoutParamsTYPE_APPLICATION_MEDIA_OVERLAY,

WindowManagerLayoutParamsTYPE_APPLICATION_MEDIA,

true, rootgetWidth(), rootgetHeight());

} catch (RemoteException e) {

Logw("", "Failed attaching wallpaper; clearing", e);

}

}

1、下载安装AnimGIFLiveWallpaper,值得注意的是,安装成功之后,在应用程序列表是无法找到它的图标,找到方式看下图:2、进入AnimGIFLiveWallpaper,点击左下方的设置按钮,选择“SetGIFImage”按钮即进入文件目录浏览,找到需要设置为壁纸的GIF动图,点击设置壁纸即可。注意事项:1、GIF动图体积不要过大,尽量不要超过1M,否则会出现卡顿、掉帧等播放问题;2、设置动图为壁纸后,会导致耗电量的增加。

我系统说一下:

打开re管理器——SYSTEM——app——找到你那个程序名——长按打开菜单——提取全部内容——选择“是”

然后会提示你在SD卡里有个同名的文件夹,打开就可以慢慢找到了

安卓手机壁纸怎么设置 ,手指长触屏幕

1手机桌面点击 应用程序中设置

2设置---显示---壁纸

3选择动态壁纸进行设置

4设置自己喜欢的动态壁纸

5设置成为壁纸就可以了

然后设置安卓动态壁纸:

1、请确认系统是Android 21 及以上。

2、我们先去网上找一个喜欢的动态壁纸,然后下载到手机上。

3、下载“安卓动态壁纸”软件,然后安装。

4、打开软件,找到刚刚下载回来的,然后进行设置。

以上就是关于android中代码是如何实现调用动态壁纸的全部的内容,包括:android中代码是如何实现调用动态壁纸的、如何实现 Android 动态壁纸效果、android手机要如何提取动态壁纸的背景图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10091004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存