先说说缘由吧,最近项目要研究在亮屏的时候用展示一个开屏动画,我一想这个不难吧,截获亮屏的广播事件 Intent.ACTION_SCREEN_ON然后处理对应的事件就好了,但我发现好像没有正确的api可以修改锁屏壁纸,然后我就参考下面这个哥们自定义锁屏解决了一部分需求(有一个缺陷不能处理有锁屏密码的情况)。

http://blog.csdn.net/xiaoyu940601/article/details/53945198

下面贴出简单的代码:

1.这个是广播接收器,注意Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF这个两个action必须动态注册。

@Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

if (Intent.ACTION_USER_PRESENT.equals(action)) {

} else if (Intent.ACTION_SCREEN_ON.equals(action)) {

Intent lockscreen = new Intent(context,LockScreenActivity.class);

// lockscreen.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

lockscreen.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP);

context.startActivity(lockscreen);

}else if(Intent.ACTION_SCREEN_OFF.equals(action)){

Intent lockscreen = new Intent(context,LockScreenActivity.class);

lockscreen.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(lockscreen);

}

}

2.LockScreenActivity锁屏界面

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);

setContentView(R.layout.activity_lock_screen);

// getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE

// | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN //状态栏可见,状态栏覆盖布局

// | View.SYSTEM_UI_FLAG_FULLSCREEN //状态栏不可见

// | View.SYSTEM_UI_FLAG_LAYOUT_STABLE

// | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY

// | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

// | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); // hide nav bar

gif_screen = (ImageView) findViewById(R.id.gif_screen);

contentLayout = findViewById(R.id.contentLayout);

gif_screen.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

@Override

protected void onNewIntent(Intent intent) {

super.onNewIntent(intent);

Glide.with(this).load(R.drawable.screen).asGif().into(gif_screen);

handler = new StaticHandler(this);

handler.sendEmptyMessageDelayed(1, 2000);

}

上面包含设置去掉状态栏和navigationBar来全屏,但是发现怎么设置都不行,原来是要你想要全屏的view单独去设置才行,既:

gif_screen.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

这是这次解决问题的关键(gif_screen 是布局中一个展示gif动画的一个view),布局如下:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:scaleType="fitXY"/>

FrameLayout>

以上纯小弟愚见,还望大神指教。

android解锁动画效果,android 关于自定义解锁动画和实现全屏的解决方案相关推荐

  1. android ui动画效果怎么做,AndroidUI 布局动画-为列表添加布局动画效果

    新建一个Android project ,使MainActivity 继承自 ListActivity: public class MainActivity extends ListActivity ...

  2. Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一)

    项目中有个需求,播放爱奇艺的视频,百度了一通,可能是搜索词有问题,没找到解决方法,后来无意中发现微信可以播放,就想到是否可以使用微信的x5内核,一试发现可以实现.想要实现的效果如下,点击全屏后全屏播放 ...

  3. html实现的动画效果代码,CSS实现雨滴动画效果的实例代码

    玻璃窗 今天我们要实现的是雨滴效果,不过实现雨滴前,我们先把毛玻璃的效果弄出来,没有玻璃窗,雨都进屋了,还有啥好敲打的. .window { position: absolute; width: 10 ...

  4. android x5获取播放地址,Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一)...

    Android 使用WebView 实现播放爱奇艺视频,可全屏(使用的腾讯的X5内核) (一) 发布时间:2018-06-27 18:30, 浏览次数:1438 , 标签: Android WebVi ...

  5. js动画与html动画效果,九种原生js动画效果

    在做页面中,多数情况下都会遇到页面上做动画效果,我们大部分做动画的时候都是使用框架来做(比如jquery),这里我介绍下如何让通过原生的js来实现像框架一样的动画效果! 1.匀速动画效果说明:匀速动画 ...

  6. android解锁动画效果,Android 5秒学会使用手势解锁功能

    Android手势解锁 本文讲述的是一个手势解锁的库,可以定制显示隐藏宫格点.路径.并且带有小九宫格显示图,和震动!让你学会使用这个简单,高效的库! 先来一波效果效果展示: 手势解锁效果 今天给大家介 ...

  7. android解锁动画效果,Android开发学习——Day24(火焰燃烧和蒙眼解锁界面动画:关键帧动画和补间动画)...

    学习目的 1.学习使用两类动画:关键帧动画和补间动画 2.运用上述两类动画进行实战练习:火焰燃烧和蒙眼睛解锁 学习过程 认识两类动画的意义及其使用的基本操作,进行实战运用. 技术 一.关键帧动画&am ...

  8. android 自定义view 动画效果,Android自定义view----音乐播放动画

    先给大家看一下效果,因为我也不知道这个东西具体叫什么,标题上面写的是"音乐播放动画",可能描述的不太准确. 效果图.gif 前言 最近项目中做了一个音频播放的功能,播放条上需要一个 ...

  9. android 自定义view 动画效果,Android自定义view实现阻尼效果的加载动画

    效果: 需要知识: 1. 二次贝塞尔曲线 2. 动画知识 3. 基础自定义view知识 先来解释下什么叫阻尼运动 阻尼振动是指,由于振动系统受到摩擦和介质阻力或其他能耗而使振幅随时间逐渐衰减的振动,又 ...

最新文章

  1. [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
  2. moodle 用户 权限_用户和社区反馈如何驱动Moodle
  3. ai python 代码提示插件_Python 还能实现哪些 AI 游戏?附上代码一起来一把!
  4. html和js制作个人所得税表格,【JS】计算个人所得税(新版)
  5. 计算机财务函数pmt,《5个财务函数FV、PV、PMT、NPER与RATE》.docx
  6. 清明时节雨纷纷路-清明节习俗、诗词欣赏
  7. vue 获取动态域名_vue项目接口域名动态获取操作
  8. IterNet: Retinal Image Segmentation Utilizing Structural Redundancy in Vessel Networks
  9. 【深度学习入门系列】径向基函数(RBF)神经网络原理介绍及pytorch实现(内含分类、回归任务实例)
  10. 《THE BASIC GRAMMER OF C》
  11. Java程序员如何不断提高自己的专业技能
  12. python中callable什么意思_python中callable对象有什么用
  13. 看完这篇让你高数不挂科之——泰勒公式
  14. MySQL 占用过高CPU时的优化手段
  15. 车载导航不支持播放全部的mp3音乐的解决办法--------fwqlzz love is for ever
  16. 联发科p60和骁龙710哪个好_麒麟710和联发科P60哪个好 联发科P60与麒麟710区别对比 (全文)...
  17. 1.PMAC卡-简介和预备知识
  18. 模拟飞行入坑(三) P3Dsimconnect 两台电脑远程连接配置
  19. 系统监控工具-glances
  20. 用c语言银行队列系统,C语言学习之用队列实现银行排队系统

热门文章

  1. 第2课 Altium Designer20(AD20)+VESC6.4实战教程:教程介绍与准备(北冥有鱼)
  2. 计量经济学计算机输出结果,计量经济学作业答案A.doc
  3. 高中关于计算机英语作文,关于科学的英语作文高中优秀作文(精选6篇)
  4. 【亲测】PHP进销存源码 ERP多仓库管理系统 网络版手机端+小程序版进销存 二次开发
  5. linux桌面 高分屏,Linux系统在高分屏非正常分辨率显示
  6. 变电所计算机监控系统设计技术规程,《59.DL5149-2016 220-500kV变电所计算机监控系统设计技术规程》.pdf.pdf...
  7. 2FSK、4FSK MATLAB工程仿真
  8. 电脑数据加密保护:源代码、文档、图纸加密
  9. 【历史上的今天】2 月 3 日:“开源”一词诞生;比尔·盖茨发表《致电脑爱好者的公开信》;“雾件”问题被提出
  10. 科技爱好者周刊(第 221 期):全世界最繁荣的行业