从另一个应用程序控制一个应用程序

2023-11-30

I read 这个问题 and 另一个问题我了解如何从另一个应用程序启动应用程序(让我们称另一个应用程序为启动器应用程序)。然而,我的目标不仅仅是启动一个应用程序,而是使用它的功能,所以我想启动器应用程序应该使用意图(显式或隐式)启动活动。

我应该知道已安装的应用程序所反应的数据和操作,并且应该在启动之前将这些信息添加到意图实例中。我希望启动器应用程序允许用户(而不是开发人员)配置此意图,但我如何提前知道为已安装的应用程序放入意图的参数?

我应该实现“LauncherApplication*,以便允许用户通过图形界面构建意图。或者我可以使我的应用程序支持添加插件:这样,我可以为每个已安装的应用程序创建一个插件,其中每个插件可以负责管理与其关联的应用程序有关的意图的配置。

更新(添加细节)。特别是,启动器应用程序应该是启用语音识别器的服务,因此用户可以说出特定关键字启动应用程序:以及启动应用程序,用户应该能够关闭它并使用其功能。

例如,我可以安装一个应用程序((我们称之为图书馆应用程序)在图书馆中搜索可用的书籍;该应用程序可以具有以下功能:

  1. 搜索一本书(如果该书可用、已借出或已被其他人预订,则此函数可能会返回)。
  2. 预订一本书(此函数应返回预订完成情况)。

这样,当我发音“start LibraryApp”时,启动器应用程序服务应该启动图书馆应用程序应用。应用程序启动后,服务应该能够向其发送命令以使用其中一个可用功能(搜索书籍、预订书籍)。

如何向已激活的应用程序发送命令以控制它?


我如何提前知道要为已安装的应用程序添加意图的参数?

您与他们的开发人员交谈。通常有零个“参数”Intent启动应用程序的启动器活动(或多个活动),因为主屏幕不会将此类“参数”放在Intent.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从另一个应用程序控制一个应用程序 的相关文章

随机推荐

  • 我尝试将 Spring 的默认记录器更改为 log4j2 有什么问题吗?

    我是 Spring Boot 的新手 我想将默认记录器更改为 log4j2 因为它比 logback 具有更高的吞吐量 这是我的 Gradle 脚本 如您所见 我使用的是 Spring Boot 2 0 3 为了禁用默认记录器 我在 Spr
  • BluetoothChat 示例:NullPointerException [重复]

    这个问题在这里已经有答案了 可能的重复 getActionBar 返回 null 完全的安卓菜鸟 我正在尝试从 Galaxy S3 运行 BluetoothChat 示例 但它似乎在应用程序运行时崩溃了 这是 LogCat 输出 09 14
  • DataReader 为 null 或为空

    Using C 我有一个数据读取器 它从 mysql 数据库返回记录列表 我正在尝试编写代码来检查数据读取器是否为空 其背后的逻辑是 如果数据读取器有字段 则显示信息 否则隐藏该字段 我努力了 cmd1 new OdbcCommand Se
  • R 经济衰退日期转换

    我正在通过 R 将衰退带数据下载到 R 中quantmod 现在 这是一个二进制信息 xts 格式 看起来像这样 仅显示第一个衰退期 1857 01 01 0 1857 02 01 0 1857 03 01 0 1857 04 01 0 1
  • 使用反射动态地使用其名称检索静态变量

    如何使用 Java 反射动态地使用名称来检索静态变量 如果我有包含一些变量的类 public class myClass final public static string cfg1 01 02 81 82 final public st
  • Python3:尝试在非包中进行相对导入

    我对这个基本问题感到非常抱歉 因为它类似于 被相对进口所困扰 但我正在尝试遵循 PEP328http www python org dev peps pep 0328 guido s decision这对我不起作用 这些是我的文件 dev
  • Python - Pxssh - 尝试登录远程服务器时出现密码拒绝错误

    我正在尝试使用 pexpect 模块 pxssh 登录我的一台服务器 我的密码被拒绝 我想我知道问题是什么 但不知道如何解决 问题是 当我登录服务器时有一个欢迎横幅 无法更改横幅 并且预期会感到困惑 这是我的代码 import pxssh
  • 从 Json 字符串创建 Python 对象 [重复]

    这个问题在这里已经有答案了 WebSocket 连接到地震门户网站正在向我发送有关地震的数据 这些数据打包在 JSON 对象中 我将其作为多行字符串获取 例如 action create
  • Three.js创建的立方体是干涉的,旋转相机时这些立方体的部分会变成透明,

    我使用 Three js CanvasRender 创建一些立方体 我遇到一个问题 旋转相机时 这些立方体的部分部分会变成透明 请看图片 https i stack imgur com pafn0 jpg 当我将 CanvasRender
  • 请求在 Apple 设备上全屏显示 HTML5 视频

    大家好 我有自定义全屏图标 可以在我的视频上触发全屏 一切都很好 只是它不能在苹果设备上运行 你知道如何解决这个问题吗 fullscreen btn click function fullscreen true var mediaEleme
  • 在 Android Studio 中创建单独的测试模块/项目

    我使用的是 Android Studio 版本 0 8 14 目前 新建Android项目后 默认是test源码文件夹androidTest位于src的文件夹app模块 与main 其中包含应用程序源代码 但是 如果出于任何特定原因 我想将
  • 将异常从 Servlet 重定向到默认错误 JSP 的正确技术是什么?

    我需要有一个默认的错误 JSP 页面 当 servlet 抛出异常时显示该页面 并且该页面将显示堆栈跟踪 我怎么做 是否有正确的技术 由 API 提供 或者我必须手动执行 我的意思是 将抛出的异常作为属性发送 然后自己处理它 Thanks
  • Python/pygame - 将图像转换为视频

    我正在使用 python 中的 Pygame 模块用网络摄像头拍照 问题是我想导出视频文件 不关心什么类型 以在其他地方使用 由于pygame无法直接导出视频 我猜有两种方法可以做到 以某种方式将 Pygame 创建的照片拼接成视频 我的首
  • jQuery $.get() 函数成功并返回 200,但在 Firefox 中没有返回任何内容

    我正在编写我的第一个 jQuery 但遇到了问题jQuery get 我称之为 get url updateList 其中 updateList 的定义如下 function updateList data if data contentl
  • 代码先创建表

    我正在关注this教程 我尝试在用户配置文件表中添加一些新列 我尝试创建一个新表 public class UsersContext DbContext public UsersContext base DefaultConnection
  • ReferenceError:未定义要求(Webstorm)

    尝试做一些非常基本的事情 但遇到了障碍 var mongoose require mongoose mongoose connect mongodb localhost jetbrains var Product mongoose mode
  • 如何在 Mac OS X 中处理 python 中 raw_input() 的 EOFError

    我的 python 程序有两次调用raw input 首先raw input 是从用户那里获取多行输入 用户可以发出 Ctrl D 在 Windows 中为 Ctrl Z 来结束输入 Second raw input 应该使用 y n 类型
  • 适用于 Android 的 SAML 客户端?

    我正在开发一个项目 需要解析一些受保护网页中的一些数据 为了获得这些页面的访问权限 我必须克服 SAML 身份验证形式 Shibboleth 有人能够在 Android Java 中实现这个标准吗 我已经读过这个线程 Android 的 S
  • 缓冲读取器线程安全吗?

    有什么方法可以获得线程安全的缓冲读取器 当我运行此代码时 我得到了以下信息 Threadid 28 ObjectReference de factfinder resource Resource 1b7aeb4 Threadid 28 Ob
  • 从另一个应用程序控制一个应用程序

    I read 这个问题 and 另一个问题我了解如何从另一个应用程序启动应用程序 让我们称另一个应用程序为启动器应用程序 然而 我的目标不仅仅是启动一个应用程序 而是使用它的功能 所以我想启动器应用程序应该使用意图 显式或隐式 启动活动 我