悬浮窗功能基本代码:

     //创建悬浮窗的图片,这里当然也可以用自定义的View,这里之用了简单的图片var imageView = ImageView(this)imageView.setImageResource(R.mipmap.ic_launcher)var layoutParams = WindowManager.LayoutParams()var windowManager: WindowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManagerlayoutParams.format = PixelFormat.RGBA_8888layoutParams.flags =WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_NOT_FOCUSABLElayoutParams.gravity = Gravity.TOP or Gravity.LEFTlayoutParams.width = WindowManager.LayoutParams.WRAP_CONTENTlayoutParams.height = WindowManager.LayoutParams.WRAP_CONTENTlayoutParams.x = 200layoutParams.y = 200windowManager.addView(imageView, layoutParams)

如果有报错,那可能是没有设置悬浮窗的类型的原因。
只要在windowManager.addView 之前添加悬浮窗类型的代码即可

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION} elselayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT

当然,有的需求可能不太满足,比如说我想要在桌面也显示的话怎么办?
那就得需要用户自己到应用设置里面去打开后台弹出界面了。

     /*之前的 layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION或者是 WindowManager.LayoutParams.TYPE_SYSTEM_ALERT修改成 WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY同时,需要在AndroidManifest.xml文件中申请悬浮窗权限<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />*/layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAYvar intent = Intent()intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)//跳转到应用信息界面intent.action = Intent.ACTION_AUTO_REVOKE_PERMISSIONS//跳转到哪个应用的信息界面intent.data = Uri.fromParts("package", packageName, null)startActivity(intent)

悬浮窗暂时只写这么多,如果后面还有的话我还是会补充的。
有问题的话可直接评论。

Android 悬浮窗的使用(1)相关推荐

  1. android悬浮窗语音识别demo

    带有android悬浮窗的语音识别语义理解demo 如发现代码排版问题,请访问CSDN博客 Android桌面悬浮窗实现比较简单,本篇以一个语音识别,语义理解的demo来演示如何实现android悬浮 ...

  2. Android 悬浮窗功能的实现

    前言 我们大多数在两种情况下可以看到悬浮窗,一个是视频通话时的悬浮窗,另一个是360卫士的悬浮球,实现此功能的方式比较多,这里以视频通话悬浮窗中的需求为例.编码实现使用Kotlin.Java版本留言邮 ...

  3. Android悬浮窗的简单实现

    1. 前言 现在很多应用都有小悬浮窗的功能,比如看直播的时候,通过Home键返回桌面,直播的小窗口仍可以在屏幕上显示.下面将介绍下悬浮窗的的一种简单实现方式. 2.原理 Window我们应该很熟悉,它 ...

  4. Android悬浮窗的实现

    Android悬浮窗的实现 *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 本文也发布于本人的知乎文章:https://zhuanlan.zhihu.com/p/39421112 ...

  5. Android悬浮窗原理解析(Window)[源码]

    悬浮窗,在大多数应用中还是很少见的,目前我们接触到的悬浮窗,差不多都是一些系统级的应用软件,例如:360安全卫士,腾讯手机管家等:在某些服务行业如金融,餐饮等,也会在应用中添加悬浮窗,例如:美团的偷红 ...

  6. 安卓java浮层不响应点击事件,Android悬浮窗屏蔽悬浮窗外部所有的点击事件的实例代码...

    Android可以在所有应用上方添加View,就是给WindowManager添加一个View,在创建的View的时候可以给这个View设置LayoutParams(android.view.Wind ...

  7. Android展开悬浮窗功能,Android 悬浮窗 (附圆形菜单悬浮窗)

    序言 Android悬浮窗的实现,主要有四个步骤: 1. 声明及申请权限 2. 构建悬浮窗需要的控件 3. 将控件添加到WindowManager 4. 必要时更新WindowManager的布局 一 ...

  8. android动态获取悬浮窗,Android 悬浮窗实现

    Android悬浮窗实现中需要注意的两点是 1.Android 6.0之后的悬浮窗动态申请 2.Window 的type属性在Android8.0前后的适配 public abstract class ...

  9. Android悬浮窗适配全机型,包含8.0,小米魅族华为悬浮窗权限适配demo看这一篇就够了

    机型多杂,适配无法完全兼容,不如换种实现方式,性能比悬浮窗好,不需要权限,效果更好:https://blog.csdn.net/m0_38058826/article/details/10399339 ...

  10. Android悬浮窗开启 适配所有机型(附源码)

    Android悬浮窗开启 适配所有机型(附源码) 1.开启悬浮窗权限 清单文件中添加: <uses-permission android:name="android.permissio ...

最新文章

  1. 如何在Linux实现自动运行程序
  2. 程序员面试100题之二:跳台阶问题(变态跳台阶)
  3. 09-对象的定义方式
  4. java没有释放内存_java – G1年轻的GC没有释放内存 – 空间耗尽
  5. c语言队列原理的实现,c印记(十二):队列queue原理与实现
  6. (JAVA)获取对象
  7. php中的缓,php中的缓存机制解释
  8. checkbox修改默认样式
  9. 关于_beginthreadex、_beginthread和CreateThread
  10. 关于win10 使用eclipse如何配置环境变量
  11. Python3下的WIFI密码爆破
  12. 简单桌面导航html win10,IT之家学院:让你的Win10桌面比macOS还简洁漂亮高大上
  13. H.264视频压缩标准
  14. 晶闸管整流桥matlab仿真,整流12脉中频电源MATLAB-Simulink仿真及谐波分析
  15. linux下载info安装包,Linux软件包安装(rpm、yum、apt-get)
  16. HDU 1009FatMouse' Trade
  17. vim tutorial 101 hacks(三)
  18. WPS编辑器实现自定义小功能
  19. 使用Python二次开发S3D 查询当前选择元素基本信息
  20. 内部排序(五)快速排序(上)- 概述与选择枢轴

热门文章

  1. [附源码]计算机毕业设计JAVA网上书店管理系统
  2. mysql COMMENT字段注释,表注释使用(转)
  3. excel切片器_数据可视化小助手EXCEL切片器
  4. 最长公共子序列 LCS(模板) poj 1458
  5. 圣人与凡人 结束与解脱
  6. Jquery常见的面试问题
  7. html怎么搞一个微信图标,微信的图标怎么弄
  8. ZYNQ 常见问题解决方法
  9. Bootstrap的aria-label和aria-labelledby
  10. 正则表达式:检测密码由6-21字母和数字组成