Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以从Android应用程序控制其他Android应用程序上的UI对象吗?_Android - Fatal编程技术网

我可以从Android应用程序控制其他Android应用程序上的UI对象吗?

我可以从Android应用程序控制其他Android应用程序上的UI对象吗?,android,Android,我正在开发Android。我创建了一个Android App-a,它可以通过getPackageManager()启动另一个Android App-B。getLaunchIntentForPackage(“Android App-B的包名”) 例如: 当Android App-B启动时,它在main活动上有一个按钮。当点击按钮时,它将打开WiFi 在启动Android App-B后,我希望Android App-A控制Android App-B上的UI按钮 是否可以通过Android App-A

我正在开发Android。我创建了一个Android App-a,它可以通过
getPackageManager()启动另一个Android App-B。getLaunchIntentForPackage(“Android App-B的包名”)

例如:

Android App-B启动时,它在
main活动上有一个按钮。当点击按钮时,它将打开WiFi

在启动Android App-B后,我希望Android App-A控制Android App-B上的UI按钮

  • 是否可以通过Android App-A控制Android App-B的UI按钮

  • 如果有的话。如何做?安卓App-A能否获取按钮id


  • 提前谢谢

    很抱歉,我不能写评论,因为我的声誉不够。您可以通过将广播从app-a传递到app-B来完成此操作。当app-B收到该意图时,您可以执行按钮单击所执行的操作,然后设置按钮单击。关于按钮的id,您不能直接访问按钮的id。您可以做的是将id作为广播从app-B传递到app-A,然后您可以继续,但这根本没有用。只需为按钮单击要执行的任务创建一个方法,并在单击按钮和接收广播时调用它。

    我认为您可以使用Service/BroadcastReceiver。如果你想直接控制另一个应用程序的用户界面,这是不可能的。Android在沙箱模式下工作。每个应用程序都在自己的虚拟机箱中运行。您可以使用
    contentProvider
    共享数据,也可以使用packagemanager启动其他应用程序,但无法控制用户在UI上从一个应用程序到另一个应用程序的行为。如果您同时开发两个应用程序,您可以从一个应用程序发送广播,并在另一个应用程序中使用该事件。@IceJOKER,您的意思是应用程序A向应用程序B发送
    广播
    ?@Martin,是的,您可以这样做:1。运行应用程序A.2。应用程序A打开应用程序B.3。应用程序B向应用程序A发送广播并说“是的,我准备好了”。3.现在应用程序A知道应用程序B已经准备好进行交互,你可以从A向B发送命令。我希望我解释清楚)如果安卓应用程序B据此设计,你可以控制。通过将额外参数绑定到午餐意图。App-B是由您或您的团队设计的吗?您是否已经这样做了?如果是的话,您可以展示一个示例代码来说明如何做到这一点吗?