3

我想调用第三方应用程序来增强我自己的。例如,我想允许我的应用程序的用户使用像CamScanner这样的程序来捕获图像作为相机的替代品。我希望能够推荐推荐的第三方应用程序,这些应用程序可以很好地作为替代方案,为我的应用程序带来更好的功能。

安装后是否有公共清单,或者更好的是在 Play 市场页面中显示Intents它支持的应用程序的一些指示?

4

3 回答 3

3

您可以从系统设置/应用程序屏幕了解活动名称。

无论如何,您都可以调用他们的主要活动,如下所示:

startActivity(getPackageManager().getLaunchIntentForPackage("com.theirpackage"));

现在,没有明确记录的非主要活动是另一回事。即使您获得清单文本,这也可能会或可能不会帮助您找出调用协议;该活动可能依赖于清单未提及的意图额外内容。

无论如何,您永远不知道应用程序中的活动是否依赖于特定的调用顺序。除非为第三方重用明确构建了活动,否则您永远不知道它是否已准备好重用。我可以轻松地设想一个活动依赖于在另一个活动中初始化的静态变量的场景,该活动总是首先在应用程序的正常流程中启动。如果您无序调用相关活动,请为崩溃做好准备。

也就是说,获取应用程序的 XML 清单相当容易。首先,获取一个带有 Google Market 的模拟器图像(四处搜索,这些都在网络上),或者一个有根设备。从市场安装应用程序。ADB使用Eclipse从设备中提取 APK 。然后使用 将apktoolAPK 拆开。它将清单反编译为可读的 XML 形式。

于 2012-08-24T14:41:54.190 回答
3

http://openintents.org - 如果它在那里列出。

于 2012-08-24T14:45:19.643 回答
0

对于 CamScanner 应用程序,它存在一个公共 API。 https://dev.camscanner.net/

它需要签署协议。

于 2014-04-02T09:34:27.513 回答