android – 应用程序内的应用程序

前端之家收集整理的这篇文章主要介绍了android – 应用程序内的应用程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以从另一个应用程序中运行应用程序?我想做的是编写一个应用程序,允许您选择一个应用程序开始,然后在视图中显示此应用程序的活动.

所以在风景模式下,应该是这样的:

这背后的想法是:

我想要能够在我自己的活动旁边开始并运行第三方活动,而且我想要能够通过我的活动来创建个人makros来控制第三方活动.

基本上是这样的:

>从我的应用程序内部开始第三方活动
>开始makro录音
>在第三方活动中做某事
>停止makro录音
>随时随地使用makro

那么我如何从我自己的活动中开始和控制另一个活动?

解决方法

无根:
可悲的是,如果没有生根手机,您只能通过意图与其他应用程序进行交互,似乎无法实现.由于开发人员决定了他们的应用程序对特定意图的反应,所以以这种方式创建宏几乎是不可能的.

有了root电话:

>您可能需要创建所有已安装应用程序的列表,您可以使用

getPackageManager().getInstalledApplications(PackageManager.GET_Meta_DATA);

检索所有安装的应用程序的列表.
>如果用户现在选择一个应用程序,通过意图启动它,并创建系统覆盖以获得所有触摸/键事件(并让用户停止宏).您可以找到一种方法来执行此操作here.存储触摸事件的x / y值.
>您可以使用MotionEvent#obtain重新创建事件.
>现在,你需要一个根电话的部分(权限INJECT_EVENTS).启动应用程序并注入事件,以便您的宏被执行. Samplecode:

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

你可以找到更多关于注入(还有keyevents)here的信息.
>如果您需要帮助来编译您的应用程序,这2个链接将帮助您:How to compile Android Application with system permissions,Android INJECT_EVENTS permission

猜你在找的Android相关文章