悬浮窗的使用

一个app A打开另一个app B的Activity:

Intent intent2 = new Intent();
intent2.setClassName("com.example.servicepop", "com.example.servicepop.demo.DemoFloatingWindow");
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent2);

注意:

app B中的Activity必须声明为android:exported="true"

---

跨应用程序启动另一个程序的后台服务service是不可行的。

跨应用程序发送广播,在广播中打开后台服务service可行吗?app B静态注册广播接收器,也就是希望在程序未启动(处于后台)就能够接收并处理广播,如果广播是隐式的(即没有指定具体的目标组件),系统可能会阻止在后台的应用程序接收该广播。

例:隐式广播

 String broadcastIntent = "com.example.testPop";//自己自定义Intent intent = new Intent(broadcastIntent);sendBroadcast(intent);

解决办法:使用显示广播

app A:发送广播

  Intent intent = new Intent();intent.setComponent(new ComponentName("com.example.servicepop", "com.example.servicepop.CustomBroadcastReceiver"));intent.setAction("com.example.testPop");intent.putExtra("data", "Hello from Program A");sendBroadcast(intent);

app B:

1.AndroidManifest.xml声明广播接收者

<receiver android:name=".CustomBroadcastReceiver"android:exported="true"><intent-filter><action android:name="com.example.testPop" /></intent-filter>
</receiver>

2.创建广播接收者处理类

public class CustomBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if ("com.example.testPop".equals(intent.getAction())) {// 处理接收到的数据Log.d("CustomBroadcastReceiver", "Received:----------- " );}}
}

最后发现,在广播接收者中打开后台service(带视图的),失败了,这是系统不允许的!!

那么也就是说,想要完成像360悬浮窗那样的效果,打开一个带视图的service,那么必须打开这个app,然后授予悬浮权限,这样才能做到即使app没有在后台运行app列表,仍旧显示在桌面上。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka面试题part-3

6、kafka如何知道哪个消费者消费哪个分区&#xff1f; 生产者把数据发送给各个分区&#xff0c;每个broker节点都有一个coordinator(协调器)&#xff0c;消费者组对分区进行消费&#xff0c;到底哪个消费者消费哪个分区呢&#xff1f;首先groupId对50取模&#xff0c;看最后的结…

堆排序与链式二叉树:数据结构与排序算法的双重探索

大家好&#xff0c;我是小卡皮巴拉 文章目录 目录 引言 一.堆排序 1.1 版本一 核心概念 堆排序过程 1.2 版本二 堆排序函数 HeapSort 向下调整算法 AdjustDown 向上调整算法 AdjustUp 二.链式二叉树 2.1 前中后序遍历 链式二叉树的结构 创建链式二叉树 前序遍历…

Rust语言在系统编程中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 Rust语言在系统编程中的应用 Rust语言在系统编程中的应用 Rust语言在系统编程中的应用 引言 Rust 概述 定义与原理 发展历程 Ru…

Springboot应用的端口配置方法解析与优先级详解

目录 前言1. Java应用的端口配置方式1.1 命令行参数方式1.2 环境变量方式1.3 外部配置文件方式1.4 项目内部配置文件方式 2. 配置方式的优先级解析3. 四种端口配置方式的使用建议结语 前言 在Java项目的实际开发中&#xff0c;尤其是Spring Boot项目中&#xff0c;合理配置应用…

车-路-站-网”信息耦合的汽车有序充电

电动汽车作为一种环保、的交通工具&#xff0c;正逐渐成为未来交通的发展趋势。然而&#xff0c;大规模电动汽车的无序充电可能导致电网负荷波动、电压下降等问题&#xff0c;影响电网的安全稳定运行。为了解决这些问题&#xff0c;需要制定有效的电动汽车有序充电策略&#xf…

42个接受医工交叉领域投稿的二三四区期刊汇总|个人观点·24-11-14

小罗碎碎念 昨天晚上的推文总结了94个接受医工交叉研究投稿的一区期刊&#xff0c;今天这期推文把剩下的二三四区期刊补上。我会按照二三四区的顺序介绍&#xff0c;其中每个区会按照大类进行区分。 同样&#xff0c;由于公众号的排版限制&#xff0c;如下图所示的表格&#…

【更新中】《硬件架构的艺术》笔记(三):处理多个时钟

介绍 单时钟设计更易于实现&#xff0c;也更少出现亚稳态、建立和保持时间违例方面的问题。但在实践中&#xff0c;很少有设计只在一个时钟下运行。 多时钟域 多个始终可以有以下一种或多种时钟关系&#xff1a; 1、时钟频率不同。 2、时钟频率相同&#xff0c;但相位不同…

【vue2.0入门】vue基本语法

目录 引言一、页面动态插值1. 一般用法 二、计算属性computed三、动态class、style绑定四、条件渲染与列表渲染五、事件处理六、表单输入绑定七、总结 引言 本系列教程旨在帮助一些零基础的玩家快速上手前端开发。基于我自学的经验会删减部分使用频率不高的内容&#xff0c;并不…

Chromium 中chrome.tabs扩展接口定义c++

一、chrome.tabs 注意&#xff1a;Tabs API 可由 Service Worker 和扩展程序页面使用&#xff0c;但不能由内容脚本使用。 使用 chrome.tabs API 与浏览器的标签页系统进行交互。您可以使用此 API 在浏览器中创建、修改和重新排列标签页。 Tabs API 不仅提供操作和管理标签页…

vuepress+vdoing主题搭建自己的知识管理库

在github上建2个仓库 仓库1&#xff0c;文档源文件&#xff08;markdown&#xff09;&#xff0c;可以是私有或公有仓库。 仓库2&#xff0c;build生成的文件&#xff08;发布为github pages&#xff09;&#xff0c;公有仓库。 克隆模板 https://github.com/xugaoyi/vdoing…

蔚来Java面试题及参考答案

Java 的特点 Java 是一种广泛使用的高级编程语言,具有许多显著的特点。 首先,Java 具有平台独立性。这是通过 Java 虚拟机(JVM)实现的。Java 程序被编译成字节码,字节码可以在任何安装了 JVM 的平台上运行,而不需要重新编译。例如,一个在 Windows 系统上开发的 Java 程序…

开源项目推荐——OpenDroneMap无人机影像数据处理

实景三维作为GIS最火的课题&#xff0c;最近在想做一套自己的三维构建工具&#xff0c;考察了几个开源项目&#xff0c;把自己的搜索过程用csdn记录下来&#xff0c;希望也能帮助到各位同仁。 OpenDroneMap&#xff08;ODM&#xff09;是一个开源项目&#xff0c;旨在处理无人…

深入浅出《钉钉AI》产品体验报告

1. 引言 随着人工智能技术的迅猛发展&#xff0c;企业协同办公领域迎来了新的变革。钉钉作为阿里巴巴集团旗下的企业级通讯与协同办公平台&#xff0c;推出了钉钉AI助理&#xff0c;旨在提高工作效率&#xff0c;优化用户体验。本报告将对钉钉AI助理进行全面的产品体验分析&am…

夹耳开放式耳机好用吗?夹耳开放式耳机推荐

夹耳式耳机作为开放式耳机的一种&#xff0c;在最近几年里深受大家欢迎。它能够受到大家欢迎的原因主要是其不入耳的特性&#xff0c;既有助于保护听力健康&#xff0c;又能让人尽情享受极致的音乐体验。不过&#xff0c;很多小伙伴不知道夹耳式耳机到底好不好用&#xff1f;夹…

opencv(c++)----图像的读取以及显示

opencv(c)----图像的读取以及显示 imread: 作用&#xff1a;读取图像文件并将其加载到 Mat 对象中。参数&#xff1a; 第一个参数是文件路径&#xff0c;可以是相对路径或绝对路径。第二个参数是读取标志&#xff0c;比如 IMREAD_COLOR 表示以彩色模式读取图像。 返回值&#x…

UE5入门教程:蓝图概念

UE5&#xff08;Unreal Engine 5&#xff09;中的蓝图系统是一个强大的可视化编程工具&#xff0c;它允许开发者通过图形界面来构建游戏逻辑&#xff0c;而无需编写传统的代码。以下是对UE5蓝图概念的详细解析&#xff1a; 蓝图基本概念 广义上&#xff1a;蓝图是UE5内置的脚…

Flink独立集群+Flink整合yarn

Flink独立集群的搭建&#xff1a; 1、上传解压配置环境变量 # 1、解压 tar -xvf flink-1.15.4-bin-scala_2.12.tgz # 2、修改环境变量 export FLINK_HOME/usr/local/soft/flink-1.15.4 export PATH$PATH:$FLINK_HOME/bin 2、修改配置文件 cd /usr/local/soft/flink-1.15.4/…

SwiftUI-基础入门

开发OS X 图形应用界面时有三种实现方式&#xff1a;XIB、Storyboard、SwiftUI。Storyboard基于XIB做了优化&#xff0c;但XIB基本被放弃了&#xff0c;而SwiftUI是苹果公司后来开发的一套编程语言&#xff0c;用来平替Objective-C。虽然现在Swift 6 还是有些不完善的地方&…

string------1

文章目录 一. STL1.概念2.版本 二. string类2.1 为什么学习string类2. 标准库中的string类2.2.1 构造&#xff08;7个&#xff09;2.2.2 对string类对象进行“访问和修改”&#xff08;1&#xff09;operator[]&#xff08;2&#xff09;迭代器1.迭代器的使用2.迭代器的价值&am…

css-50 Projects in 50 Days(3)

html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>旋转页面</title><link rel"sty…