千家信息网

Android怎样实现悬浮窗全系统版本

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了Android怎样实现悬浮窗全系统版本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。悬浮窗是在系统上显示的内容,好像
千家信息网最后更新 2026年11月03日Android怎样实现悬浮窗全系统版本

这篇文章主要介绍了Android怎样实现悬浮窗全系统版本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

悬浮窗是在系统上显示的内容,好像微信视频聊天时的小窗口一样,在退出软件后依然存在的一个窗口,本博客以窗口中放一个button组件为例,简单展示悬浮窗,其中包括了对Android 6.0以下、Android 6.0到Android 8.0、Android 8.0以上版本的处理,下面开始介绍实现方法:

1、MainActivity中的代码

public Button mFloatingButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化view initView(); } //初始化view private void initView() { mFloatingButton=(Button) findViewById(R.id.floating_btn); mFloatingButton.setOnClickListener(this); } public void startFloatingButtonService(View view) { Log.e("测试流程", "测试流程"); if (FloatingService_Button.isStarted) { Log.e("测试流程2", "测试流程2"); return; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//判断系统版本 if (!Settings.canDrawOverlays(this)) { Toast.makeText(this, "当前无权限,请授权", Toast.LENGTH_SHORT); Log.e("测试流程3", "测试流程3"); startActivityForResult(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())), 0); } else { Log.e("测试流程4", "测试流程4"); startService(new Intent(MainActivity.this, FloatingService_Button.class)); } } else { startService(new Intent(MainActivity.this, FloatingService_Button.class)); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 0) { if (!Settings.canDrawOverlays(this)) { Log.e("测试流程5", "测试流程5"); Toast.makeText(this, "授权失败", Toast.LENGTH_SHORT).show(); } else { Log.e("测试流程6", "测试流程6"); Toast.makeText(this, "授权成功", Toast.LENGTH_SHORT).show(); startService(new Intent(MainActivity.this, FloatingService_Button.class)); } } } @Override public void onClick(View v) { switch (v.getId()){ case R.id.floating_btn : startFloatingButtonService(v); break; } }

思路简单解释:点击弹出悬浮窗按钮时,获取版本并判断"Build.VERSION.SDK_INT >= Build.VERSION_CODES.M"如果系统版本在6.0以下这不需要请求权限,如果系统版本在6.0以上需要进行权限检测以及请求,获取权限后,弹出悬浮框

2、activity_main.xml代码

流程 测试 版本 系统 服务 权限 篇文章 代码 按钮 监听 解释 中放 事件 变量 思路 成功 没什么 这不 东西 价值 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技有限公司 深圳九邦互联网科技有限公司 中关村互联网科技集团 互联网科技活动banner 期待互联网科技 万易互联网科技有限公司 碳银互联网科技 小马过河互联网科技 卓越科技互联网 招聘 成都玖崟互联网科技有限公司乐商圈怎么样 济南华为互联网科技产业总部基地 互联网科技有哪些公司 成都铂石互联网科技做什么的 互联网科技产业特征 美国互联网科技实力 图游互联网科技 云鲸互联网络科技有限公司 玉溪新华互联网科技怎么选 众联互联网络科技 东风日产互联网科技公司叫什么 天津市摩尔互联网科技 美国互联网科技巨头监管 深圳市运趣互联网科技有限公司 深圳前海聚择互联网科技有限公司 互联网公司科技股 银川新华互联网科技学校联系电话 乌苏新华互联网科技做什么的 内蒙古九一互联网科技 广州新华互联网科技学校电竞方面 互联网科技创新方面的资料
0