【问题标题】:Is it possible to retrieve data from a 3rd party App by my own Android app?是否可以通过我自己的 Android 应用从第三方应用中检索数据?
【发布时间】:2017-03-29 21:30:29
【问题描述】:

我是一个 android 新手,无法理解关于 stackoverflow 的这个主题的更详细的帖子,所以我希望我可以问这个简单的是/否问题。 我有自己的抽认卡 android 应用程序,并且(由于缺乏翻译 API,不同的故事......)我想我可以使用我在手机上安装的第 3 方字典应用程序(这只是为了我,而不是为了生产,所以不用担心它如何扩展到其他手机/环境)。 所以听起来可能从我的应用程序启动第 3 方应用程序,但听起来不可能从第 3 方应用程序检索数据并在我自己的应用程序中使用它,即我必须知道源代码了解意图和活动名称(及其清单?)的第 3 方应用程序

所以这是一个天真的/简单的问题,是否可以简单地启动应用程序,导航到我感兴趣的页面/活动(因为我假设我不能直接跳转到它,因为我不知道详细信息)并“滑动/解析”该应用程序的输出并返回到我的应用程序?

【问题讨论】:

  • 也许你想试试startActivityForResult 方法?
  • 第三方应用可以将数据自愿提供给其他应用。他们通过编写一个您可以查询的 ContentProvider 来做到这一点。如果应用程序没有这样做,则无法获取其数据(除非您的手机已root,在这种情况下您可以访问他们的文件,但您必须弄清楚其数据格式)。

标签: android android-intent android-activity android-manifest


【解决方案1】:

除非其他应用特别考虑了该选项并准备将某些东西退回给您,否则。您不能在未经许可的情况下阅读任意应用程序或与之交互。这是有道理的,想想银行应用程序、电子邮件和各种可能泄露的个人信息。

如果手机已root,正如@Gabe Sechan 在 cmets 中指定的那样,您可以读取它们存储数据的文件,但这并不意味着您可以访问它们的逻辑,例如,使用字典应用程序,这可能意味着您可能会读取缓存的翻译如果他们存储了这些,但您仍然不能说这是这个词,把它翻译给我

Google 确实提供了translations API,但我不确定它是否符合您的需求。

【讨论】:

  • 谢谢,没想到(虽然出于安全原因减少了,因为我仍然必须获得启动第 3 方应用程序的权限,对吧?)Google API 不再免费,但又一次,这是一个不同的线程......
  • 您可以像在 start 中一样启动应用程序,但不能与其交互。一些为其设计的应用程序,例如联系人应用程序或照片库,具有旨在实际返回数据给调用者的特殊活动
【解决方案2】:

据我所知,如果没有第 3 方实施内容提供者,就无法做到这一点。至少没有简单的方法,因为这将是一个巨大的安全问题。由于这是一个有问题的字典应用程序,如果这对您来说是一个可行的选择,我建议您使用字典 API。

【讨论】:

    【解决方案3】:

    据我了解,您想从另一个应用程序获取数据?是的,您可以使用服务器在应用程序之间检索和发送数据。

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 2019-10-11
      • 1970-01-01
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 2015-08-15
      相关资源
      最近更新 更多