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

标签 android android-intent

我读了this questionanother question并且我了解如何从另一个应用程序启动应用程序(我们将另一个应用程序称为 LauncherApplication)。但是,我的目标不仅是启动应用程序,而且是使用它的功能,所以我认为 LauncherApplication 应该使用 Intent (显式或隐式)启动 Activity 。

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

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

更新(添加了详细信息)。特别是,LauncherApplication 应该是启用了语音识别器的服务,因此用户可以启动一个应用程序说出特定的关键字:如除了启动一个应用程序,用户应该能够关闭它并使用它的功能。

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

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

这样,例如,当我发出“启动 LibraryApp”这个词时,LauncherApplication 服务应该启动 LibraryApp 应用程序。启动应用程序后,该服务应该能够向其发送命令以使用可用功能之一(搜索书籍、预订书籍)。

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

最佳答案

how do I know in advance the parameters to put in an intent for the installed applications?

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

关于android - 从另一个应用程序控制一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10260979/

相关文章:

android - 在模拟器中找不到处理地理 Intent 的 Activity

Android Room 无法创建用于测试迁移的 JSON 模式

java - 检查 Intent 调用特定 Component 是否可调用?

android - 从安卓图库中选择缩略图

android - 如何返回到 android 中的前 3 个 Activity?

android - 当我尝试从EditText捕获时,Android App崩溃

java - 如何修复 MeteorWebApp 错误 : "Skipping downloading new version because the Cordova platform version or plugin versions have changed ..."?

android - 从 Activity 中设置线程类中的文本

java - 如何比较android中字符串数组列表中的每个值

java - SwipeRefresh 布局进度条即使完成后也不会隐藏