0

我在 Google Play 上有两个单独的 APK。我正在计划他们每个人的新版本,其中包含新的应用内购买。

我希望我的两个应用程序中的每一个都能够查询另一个应用程序以查看该项目是否已在另一个应用程序中购买,因此如果用户安装了两个应用程序,则无需在两个应用程序中购买该项目。

我已经发布了这两个应用程序并且它们没有共享 ID,所以我认为这不是一个选项,因为我认为您无法更改已发布应用程序上的 sharedID。此外,用户可能会以不同的顺序安装/卸载这些应用程序,或者将它们下载到另一台设备上,因此在购买时仅进行广播是不够的。

有没有办法查询另一个应用程序以获得简单的布尔响应?

4

1 回答 1

1

有没有办法查询另一个应用程序以获得简单的布尔响应?

我怕不是。

最接近它的是跨包共享首选项,但它不受官方支持,我不指望它可以在所有平台上工作。或MODE_WORLD_READABLE 首选项,但如答案中所述 - 它不安全,无论如何它在 API 17 中已弃用

android API 仅支持在不同应用程序之间进行通信的 3 种方式是:

  • 访问ContentProvider
  • 发送和接收BroadcastReceiver
  • 远程Service绑定

我认为您可以通过这三个中的任何一个轻松实现您的目标,尽管您说从一个广播到另一个广播不是最安全的方式是正确的。

如果我必须实现这样的功能 - 我将从ContentProvider两个应用程序之一创建一个简单的应用程序,并从两个应用程序访问它以存储和检索此共享信息/数据。

另一种好方法是进行一些服务器端验证以获取此信息。当然,它的限制是您需要拥有一个,并且您必须让您的用户连接到网络。

于 2013-08-14T03:29:14.533 回答