手机主屏幕壁纸

更新时间:2023-03-25 23:14:37 阅读: 评论:0

通海大地震-魔王街

手机主屏幕壁纸
2023年3月26日发(作者:路路畅通)

Android保活⽅法之应⽤壁纸设置

1、看到我的标题,不要太惊讶,不做过多解释,其实就是⽤App给⼿机设置⼀个壁纸,以提升当前应⽤的进程等级,这个时候基本应⽤关闭了,

进程还是在的。

2、直接上代码

⼀、设置壁纸⽤啥呢?就⽤WallpaperService具体⼲嘛的,⾃⼰去查查吧

publicclassLiveWallpaperServiceextendsWallpaperService{

privatestaticfinalStringTAG="LiveWallpaperService";

privateintmIndex=0;

@Override

publicEngineonCreateEngine(){

returnnewWallpaperEngine(this);

}

publicclassWallpaperEngineextendsEngine{

privateMediaPlayermediaPlayer=null;

privateContextcontext;

publicWallpaperEngine(LiveWallpaperServiceliveWallpaperService){

t路飞壁纸 =liveWallpaperService;

}

@Override

publicvoidonSurfaceCreated(SurfaceHolderholder){

aceCreated(holde生机勃勃什么意思 r);

mIndex++;

}

publicvoidshowWall(){

try{

Canvascanvas=getSurfaceHolder().lockCanvas();

if(canvas==null)

return;

Bitmapbitmap=creatBitamp();

if(bitmap!=null){

tmap(bitmap,0.0F,0.0F,newPaint());

}el{

lor();

}

getSurfaceHolder().unlockCanvasAndPost(canvas);

return;

}catch(Exceptionexception){

return;

}

}

publicBitmapcreatBitamp(){

Bitmapbitmap=null;

//获取壁纸管理器

//获取壁纸

if(_INT>=N_CODES.N){

try{

if(mIndex<=1&&!isLiveWallpaperRunning(context,getPackageName())){

DrawableshowDrawable=getResources().getDrawable(_pager_img);

if(showDrawable==null){

returnnull;

}

bitmap=drawableToBitmap(showDraw砥砺前行近义词 able);

bitmap=ScaledBitmap(bitmap,

eenSize(context)[0],

eenSize(context)[1],true);

}el{

WallpaperManagerwallpaperManager=tance(getApplicationContext());

DrawablewallpaperDrawable=wable();

bitmap=drawableToBitmap(wallpaperDrawable);

}

}catch(Exceptione){

tackTrace();

}

}

returnbitmap;

}

/**

*Drawable转换成⼀个Bitmap

*

*@paramdrawabledrawable精美头像图片大全 对象

*@return

*/

publicBitmapdrawableToBitmap(Drawabledrawable){

Bitmapb音乐会英语怎么读 itmap=Bitmap(rinsicWidth(),rinsicHeight(),

city()!=?_8888:_565);

Canvascanvas=newCanvas(bitmap);

nds(0,0,rinsicWidth(),

rinsicHeight());

(canvas);

returnbitmap;

}

@Override

publicvoidonSurfaceDestroyed(SurfaceHolderholder){

aceDestroyed(holder);

}

@Override

publicvoidonDestroy(){

Log.i("⽅法⽅法付","onDestroy()");

if(mediaPlayer!=null){

();

e();

mediaPlayer=null;

}

roy();

}

@Override

publicvoidonVisibilityChanged(booleanvisible){

bilityChanged(visible);

if(visible){

showWall();

}

}

}

//这个是⽤来判断当前App设置的壁纸是否还在活着,(可能会被其他App替换,这样就会导致保活失效)

publicstaticbooleanisLiveWallpaperRunning(Contextcontext,StringtagetPackageName){

//得到壁纸管理器

WallpaperManagerwallpaperManager=tance(context);

//如果系统使⽤的壁纸是动态壁纸话则返回该动态壁纸的信息,否则会返回null

//如果系统使⽤的壁纸是动态壁纸话则返回该动态壁纸的信息,否则会返回null

Wallp雅思听力时间 aperInfowallpaperInfo=lpaperInfo();

if(wallpaperInfo!=null){

//如果是动态壁纸,则得到该动态壁纸的包名,并与想知道的动几月是夏天 态壁纸包名做⽐较

StringcurrentLiveWallpaperPackageName=kageName();

if((tagetPackageName)){

returntrue;

}

}

returnfal;

}

}

上⾯就⼀个外部class类,ScreenUtils是⽤来设置bitmap的宽⾼的,因为设置壁纸,肯定要把图设置的和⼿机屏幕宽⾼⼀样,所以他就是或者

屏幕宽⾼的,代码就不贴合出来了,⾃⼰写吧洛威拿 ,这种代码多的很。

⼆、第⼆部就是在你的闪屏也,每次进来的时候判断,⽤上⾯的最后⼀个⽅法就可以判断当前App设置的壁纸是否还在,不在的话,为了保活效

果,需要在设置⼀次。在的就直接进⼊App

App如果进⼊设置壁纸页⾯后,需要闪屏页重七英语怎么写 写onActivityResult⽅法,可以通过判断壁纸是否设置完成。剩下的就不⽤管了。完成了。

接下来的就是你想要保活所要的事情了,接收推送?还是固定时间做什么事,等等,你还可以在进⼊应⽤开启⼀个rvice,这个rvice会告诉你

你的应⽤是否还在活着,因为现在rvice都必须设置为前台可见的rvice通知,所以能看到。具体想⼲什么,就去做吧......

三、当前这个设置壁纸的rvice是需要在在清单⽂件中注册的,怎么写呢?

先写⼀个xml:live税收筹划的意义 _wall_

android:thumbnail="@mipmap/ic_launcher"/>

xml就上⾯那点东西就⾏啦

然后注册壁纸

android:name=".llpaperService"

android:label="@string/app_name"

android:permission="_WALLPAPER">

android:name="per"

android:resource="@xml/live_wall_paper"/>

好了,这才结束吗!快去试试吧!

作为android开发是喜欢,作为⽤户吗,我讨厌做这个事的⼈,不喜欢后天⼀直运⾏App,会让⼿机耗电快,卡,,,,,

本文发布于:2023-03-25 23:14:35,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1679757277387205.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:手机主屏幕壁纸.doc

本文 PDF 下载地址:手机主屏幕壁纸.pdf

下一篇:返回列表
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图