是否可以从android中的另一个应用程序获取数据?

问题描述 投票:0回答:5

我从安卓市场下载了一个应用程序。我只需输入一个数字,然后单击 Enter,该应用程序就会生成一个包含一些内容的表格。

我希望我的应用程序复制表的内容。我的应用程序调用了该应用程序。用户必须手动将数据放入编辑文本中,然后按 Enter 键。在那之前我的应用程序将在后台运行。

  1. 这可能吗?
  2. 如何?

另一个问题: 我可以只截取第二个应用程序屏幕的屏幕截图,然后使用图像到文本解码器来获取该屏幕上的数据吗?

android
5个回答
7
投票

有两种方法:

1)Intent:如果您想在应用程序之间共享少量文本或数字数据,您应该发送包含数据的Intent。

2) 内容提供者:要将文件从您的应用程序提供给另一个应用程序,就是向接收应用程序发送文件的内容 URI 并授予对该 URI 的临时访问权限。具有临时 URI 访问权限的内容 URI 是安全的,因为它们仅适用于接收 URI 的应用程序,并且会自动过期。


4
投票

这里是有关应用程序之间数据存储和数据共享的完整文档。我怀疑您是否可以共享数据库,但您可以尝试使用 外部存储

进行相同的操作

4
投票

您似乎想将一些数据传递给该应用程序并运行它,对吧?当且仅当该应用程序为您提供一些“钩子”时才有可能做到这一点。

在 Android 中,无论应用程序是否为您提供任何钩子,您都可以通过执行以下操作来启动应用程序:

Intent intent=new Intent();
intent.setPackage(TARGET_APP's package name);
context.startActivity(intent);

这应该启动该应用程序,但是,如果它没有为您提供挂钩,该应用程序将像正常运行一样运行。在这种情况下,您的数据将不会生效。如果它提供挂钩,您可以通过 intent.putExtra("KEy",value)

放入数据
,然后启动该应用程序。

另一方面,如果您想从应用程序读取一些数据,当且仅当该应用程序允许您这样做时才可能。应用程序生成的数据默认是私有的。


2
投票

Android 沙箱中的单个应用程序,因此您只能通过其他应用程序公开的服务(意图和内容提供者)与其他应用程序进行交互。扎根几乎肯定不会有帮助。

从你一无所知的第三方应用程序获取数据很可能是不可能的,即使有可能,截取的屏幕截图也是混乱且不可靠的。

为什么不联系开发人员并解释您想要做什么,看看他们是否会为您提供从他们的应用程序获取数据的明智方法?


0
投票

我觉得你想利用可访问性来触摸另一个应用程序当前活动的用户界面,不是吗,因为这对我来说是一样的

© www.soinside.com 2019 - 2024. All rights reserved.