android - 收到分享意图后如何创建“交互框”?
问题描述
在这张图片上,我所做的是与应用 Google Keep 分享 Netflix 节目。在您与 Google Keep 共享某些内容后,他们会显示此框,该框在其他应用程序(在特定情况下为 Netflix)上方有效,然后您可以创建便笺并保存它。
我想知道它是如何工作的,他们是如何做那个小屏幕的,我已经知道如何将我的应用程序作为一个选项来接收共享意图和操作 URL,但我想知道如何创建用户的这个小盒子可以在他与我的应用分享内容后进行互动。我应该寻找什么?
解决方案
如果您想在其他应用程序上显示对话框,您需要确保以下事项:
您的对话框活动必须是与基本活动分开的任务的一部分,这样当它显示在另一个应用程序上方时,它不会将基本活动拉到另一个应用程序之上(请参阅 参考资料FLAG_ACTIVITY_NEW_TASK
)
您的对话活动必须放在最前面,以便在启动它的活动在后台运行时仍会显示它(请参阅 参考资料FLAG_ACTIVITY_REORDER_TO_FRONT
)。
您的对话活动必须有一个半透明的主题,以允许其他应用程序出现在它后面(请参阅 参考资料@android:style/Theme.Translucent.NoTitleBar
)。
出于同样的原因,您的对话活动不能填满屏幕(请参阅 参考资料Window.setLayout
)。
您的对话活动必须以某种方式显示一个对话,例如通过创建一个Dialog
直接扩展该类的类。
推荐阅读
- java - 同步的 Autowired bean 不在服务器中工作,但在本地 Eclipse 中工作
- python - 如何在 python 脚本中运行 linux (ubuntu) 命令?
- javascript - 正则表达式只替换一个匹配项
- node.js - 如何在 html 页面中显示 MongoDB 数据
- html - html标签换行问题
- python - 在 Python 中使用多处理时队列未清除
- sql - sql语句从一个表中选择值,该表的名称来自另一个表
- google-oauth - 我如何或在哪里“打开 Cloud Console 会话”
- node.js - 节点:无法通过 mongodb id 相等性检查
- java - @Slf4j 产生 `non-static variable org cannot be referenced` 如果类有 `org` 字段