精华内容
下载资源
问答
  • 悬浮窗+锁屏悬浮窗+锁屏悬浮窗+锁屏悬浮窗+锁屏悬浮窗+锁屏
  • 前言我们前面已经讲过关于悬浮窗的两篇文章《Android实现可移动的悬浮窗》《Android悬浮窗不用动态申请权限方法》其中第一篇就是里面有针对android8.0后怎么开启悬浮窗的权限...

    前言

    我们前面已经讲过关于悬浮窗的两篇文章

    Android实现可移动的悬浮窗

    Android悬浮窗不用动态申请权限方法

    其中第一篇就是里面有针对android8.0后怎么开启悬浮窗的权限问题,必须要把应用的顶层权限开启才可以使用。

    而第二篇文章就是觉得当你打开应用前先要申请开启顶层权限比较麻烦,对用户体验不是很好,所以改为了用TYPE_TOAST的方式,完全不用申请顶层权限的方法了。

    今天我们就说一说第二种方法在android8.1锁屏的时候遇到的问题。

    问题及解决思路

    我们的程序在android8.1下悬浮窗正常使用,但是如果我们这时候锁屏了,或是截取屏幕后,我们的悬浮窗就会自己消失了。

    我现在试到的就是这两个,不过我觉得应该是有别的东西在上层挡住了后就会出现这个情况。因为在查代码的时候发现我们的windowsmanage里面的view还是存在的,只不过没有显示出来。

    为了不影响使用效果并且可以更简单的解决这个问题,我想了一个方法,就是在windowsmanage每次刷新的时候做一个计数的功能,每多少次刷新后我们删除了view再重新创建。

    实现效果

    上面的视频可以看到,我们做了个截屏操作后,悬浮窗一会自动消失了,不过很快就又自动显示出来了。

    核心代码

    实现可移动的悬浮窗效果我们可以从《Android实现可移动的悬浮窗》这个文章里看到代码,我们这里只说解决的这块。

    我们首先要把MyWindowManage里面的updaetUsedPercent这个函数改造,在参数后面加了一个boolean的值,用于判断是否要重新建View,如果是的话我们就删除原来的view后再重新addview,如果不用的话直接就是原来的代码更新即可。下图中红框中就是我们新增加的判断部分。

    为了防止以前的调用不用更改了,我们建了一个重载方法,这样默认不输入后面的参数时就是不刷新


    然后我们就看看在FloatWindow的这个服务里调用这个更新方法的代码

    首先上面我们加入了一个updatetimes的int类型变量,然后上面绿色框里面是原先的代码,我们这里就是改造了一下,当updatetimes次数大于10了后我们就执行windowmanage里面的View删除后重新创建,然后把updatetimes重置为0,当小于10的时候就按原来的定时刷新View,然后updatetimes加1.

    这样就完美解决了我们出现悬浮窗消失的问题。


    -END-

    长按下方二维码关注微卡智享

    展开全文
  • android6.0环境 点击形成一个可移动的悬浮窗悬浮窗上显示着当前内存的占用百分比。点击悬浮窗可以实现一键锁屏功能。
  • div层悬浮窗锁屏

    2009-02-12 11:00:49
    abccksjfskdjfldjflsjflsjfl
  • 锁屏界面悬浮窗全屏显示

    千次阅读 2018-09-30 15:54:23
    锁屏界面可以显示的悬浮窗有TYPE_SYSTEM_OVERLAY和TYPE_SYSTEM_ERROR /** * Window type: system overlay windows, which need to be displayed * on top of everything else. These windows must not take ...

    1、系统级悬浮窗

    在锁屏界面可以显示的悬浮窗有TYPE_SYSTEM_OVERLAY和TYPE_SYSTEM_ERROR

    /**
     * Window type: system overlay windows, which need to be displayed
     * on top of everything else.  These windows must not take input
     * focus, or they will interfere with the keyguard.
     * In multiuser systems shows only on the owning user's window.
     * @deprecated for non-system apps. Use {@link #TYPE_APPLICATION_OVERLAY} instead.
     */
    @Deprecated
    public static final int TYPE_SYSTEM_OVERLAY     = FIRST_SYSTEM_WINDOW+6;

    TYPE_SYSTEM_OVERLAY可以自动全屏显示(覆盖状态栏和虚拟导航栏),但是却无法获取焦点

     

    /**
     * Window type: internal system error windows, appear on top of
     * everything they can.
     * In multiuser systems shows only on the owning user's window.
     * @deprecated for non-system apps. Use {@link #TYPE_APPLICATION_OVERLAY} instead.
     */
    @Deprecated
    public static final int TYPE_SYSTEM_ERROR       = FIRST_SYSTEM_WINDOW+10;

    2、设置隐藏虚拟导航栏

    params.systemUiVisibility=View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;

    3、判断是否具有权限

    if (!Settings.canDrawOverlays(getApplicationContext())) {
                startActivityForResult(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())), 2);
              }else {
                startService(new Intent(MainActivity.this, FloatingService.class));GhT2tS02Tf
            }

    4、添加悬浮窗

    private void showPop() {
        WindowManager windowManager = (WindowManager) getApplication().getSystemService(Context.WINDOW_SERVICE);       
    
        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
                WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
                PixelFormat.RGBA_8888);
    
        //隐藏虚拟导航栏
        params.systemUiVisibility=View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
        params.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL;
    
        LayoutInflater inflater = LayoutInflater.from(getApplication());
        //获取浮动窗口视图所在布局.
        lightLayout = (LinearLayout) inflater.inflate(R.layout.pop_layout,null);
    
        //添加toucherlayout
        windowManager.addView(lightLayout,params);
    }

     

    展开全文
  • android开发在锁屏界面显示悬浮窗

    千次阅读 2017-01-19 13:10:10
    通过Application的WindowMgr实现的悬浮窗,如何在锁屏界面显示呢? 我参考通过启用Activity实现自定义锁屏界面中~设置的Flag给WindowMgr的LayoutParams设置了一下,还是不行 求教求教
    通过Application的WindowMgr实现的悬浮窗,如何在锁屏界面显示呢?
    我参考通过启用Activity实现自定义锁屏界面中~设置的Flag给WindowMgr的LayoutParams设置了一下,还是不行
    求教求教
    展开全文
  • 主要是设置 WindowManager.LayoutParams().flags =...加了这个就可以在锁屏上显示(activity也是这样)其它设置都是常用写法在这里就不做介绍。 附各种flags的介绍 https://www.jianshu.com/p/c91448e1c7d1 ...

    主要是设置

    WindowManager.LayoutParams().flags =WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED

    加了这个就可以在锁屏上显示(activity也是这样)其它设置都是常用写法在这里就不做介绍。

    附各种flags的介绍

    https://www.jianshu.com/p/c91448e1c7d1

    展开全文
  • 这里有4个例子,分别实现了用div弹出窗体,并在页面上覆盖一层,实现锁屏...
  • Android锁屏悬浮demo

    2017-09-27 14:13:18
    Android锁屏悬浮demo,主要实现锁屏内容显示,类似锁屏软件功能,qq锁屏发送信息功能,需要开启悬浮窗权限。
  • Android的悬浮窗式对话框

    千次阅读 2017-02-14 14:56:30
    1、悬浮窗权限申请!悬浮窗权限申请!!悬浮窗权限申请!!! 重要的事说三遍。特别是Android6.0以后的手机,特别要注意!但是这个权限动态申请与一般的动态权限申请方式有点区别。至于怎么申请,可点击 Android 6.0...
  • 1.悬浮窗录制视频,可实现后台或锁屏使用摄像头录制视频。 2.可自定义悬浮窗大小,可设置成1像素。 3.点击关闭可保存视频到根目录上,文件名为当前时间。 注意:安装后要把应用权限先授权,包括悬浮窗权限,相机和...
  • 悬浮窗,在大多数应用中还是很少见的,目前我们接触到的悬浮窗,差不多都...系统悬浮窗:所有界面都会展示,包括主屏、锁屏 应用悬浮窗:只在应用Activity中展示。 一、窗口Window 在了解悬浮窗之前,首先我们需要...
  • 手机通常需要按下音量键+锁屏键(华为为例)来截取当前屏幕,但是很多情况下,我们只有一只手来操控手机,或者在打游戏的时候,想要截取当前精彩的页面,腾出两只手又太过于浪费时间,本篇文章通过将截屏功能设置为...
  • Window表示一个窗口的概念,在某些特殊的时候,比如你需要在桌面或者锁屏上显示一些类似悬浮窗的东西时候就需要用到Window。Window是一个抽象类,Window的实现类是PhoneWindow。Window的具体实现位于...
  • Android 部分系统设置桌面,默认应用,辅助功能,电池优化,设备管理器,悬浮窗,有权限查看使用情况,开机自启动,锁屏不清理等 部分功能适配了华为手机与小米手机. 设置默认桌面: //华为手机上 Intent paramIntent = ...
  • 在Android O上面特别增加了TYPE_APPLICATION_OVERLAY来满足悬浮窗需求。在做项目时发现设了这个type之后,在锁屏状态下是无法弹出悬浮框的。final WindowManager.LayoutParams params = new WindowManager....
  • 一行代码集成微信悬浮窗 可拖动,大小的视图,可放置在屏幕边缘。 在使用UIWebView、UIScrollView、UITableView和UICollectionView布局页... UIScrollView视觉差动画 iOS 音乐播放器之锁屏歌词+歌词解...
  • Android下屏幕锁屏弹窗的正确姿势

    万次阅读 2016-09-03 11:13:07
    最近在做一个关于屏幕锁屏悬浮窗的功能,于是在网上搜索了很多安卓屏幕锁屏的相关资料,鉴于网上的资料比较零碎,所以我在这里进行整理总结。本文将从以下两点对屏幕锁屏进行解析: 1. 如何监听系统屏幕锁屏 2. ...
  • 在安卓设备支持锁屏但系统中屏蔽掉锁屏时,手动安装压缩包中的软件,悬浮窗式实现一键锁屏,在锁屏后,手动滑动屏幕唤醒屏幕。注意:安卓系统一定要支持密码锁时,才能进入密码锁屏状态。
  • 最近在做一个关于屏幕锁屏悬浮窗的功能,于是在网上搜索了很多安卓屏幕锁屏的相关资料,鉴于网上的资料比较零碎,所以我在这里进行整理总结。本文将从以下两点对屏幕锁屏进行解析: 1. 如何监听系统屏幕锁屏 2. 如何...
  • android答题锁屏

    2015-04-23 11:49:42
    android手机回答问题解锁屏,题目涉及高数,英语,编程,智力题以及自定义题库,不但有精致的界面,还有答案提示的积分,让别人再也...(不能正常运行的朋友请打开设置,在应用中找到该软件,打开该软件的悬浮窗权限)
  • 自己写了个安卓手机软件,生成一个悬浮窗,能在任何界面显示,可是却不能在锁屏界面上显示,请问该怎么办做才能在锁屏界面上显示?
  • 实现锁屏的方式有多种(锁屏应用、悬浮窗、普通Activity伪造锁屏等等)。但国内比较主流并且被广泛应用的Activity伪造锁屏方式。 实例演示图片如下: 系列文章链接如下: [Android] Android 锁屏实现与总结...
  • 在公司项目里, 有这样一个需求,想在锁屏之下弹出一个dialog来做定时...对这种场景下弹出dialog,是直接干掉的,不允许,vivo是不管怎么样都不行,小米是要申请悬浮窗权限,悬浮窗需要做版本兼容,感觉麻烦。  那...
  • Android 系统锁屏实现固件升级动画

    千次阅读 2017-02-28 13:17:25
    前言在Android的开发过程中,有时候会有一些需求,实现一个类似锁屏的功能,我们经常会使用的一些悬浮窗效果或者弹出界面霸占整个手机屏幕,禁止用户交互,比如:手机的虚拟导航菜单屏蔽掉,状态栏禁止下拉或隐藏,...

空空如也

空空如也

1 2 3
收藏数 46
精华内容 18
关键字:

悬浮窗锁屏