gpt4 book ai didi

android - 应用内的应用

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:38 25 4
gpt4 key购买 nike

是否可以从另一个应用程序内部运行一个应用程序?我想做的是编写一个应用程序,它允许您选择要启动的应用程序,然后在 View 中显示该应用程序的 Activity 。

所以在横向模式下,它应该看起来像这样:

enter image description here

这背后的想法是:

我希望能够在我自己的 Activity 旁边启动和运行第三方 Activity ,并且我希望能够使用我的 Activity 创建控制第三方 Activity 的个人 makros。

基本上是这样的:

  • 从我的应用内启动第三方 Activity
  • 开始录制宏
  • 在第三方 Activity 中做某事
  • 停止宏录制
  • 随时使用 makro

那么如何从我自己的 Activity 中启动和控制另一个 Activity?

最佳答案

无根:
可悲的是,如果不对手机进行 root,您想要实现的目标似乎是不可能的,因为您只能通过 Intent 与其他应用程序进行交互。由于开发人员决定他们的应用如何对特定 Intent 使用react,因此几乎不可能以这种方式创建宏。

使用 root 手机:

  1. 您可能想要创建一个所有已安装应用的列表,您可以使用

    getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);

    检索所有已安装应用的列表。

  2. 如果用户现在选择一个应用程序,则通过 Intent 启动它并创建系统覆盖以获取所有触摸/按键事件(并让用户停止宏)。你可以找到一种方法来做到这一点 here .存储触摸事件的 x/y 值。
  3. 您可以使用MotionEvent#obtain重新创建事件 .
  4. 现在是您需要 root 手机的部分(权限 INJECT_EVENTS )。启动应用程序并注入(inject)事件,以便执行您的宏。示例代码:

    Instrumentation m_Instrumentation = new Instrumentation();
    m_Instrumentation.sendPointerSync(motionEvent);

    您可以找到有关注入(inject)(以及键事件)的更多信息 here .

  5. 如果您需要帮助来编译您的应用程序,这两个链接将为您提供帮助:How to compile Android Application with system permissions , Android INJECT_EVENTS permission

关于android - 应用内的应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23869037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com