使用其他Android应用程序的意图或使用代码?

时间:2010-11-11 20:26:23

标签: android android-intent

我正在编写一个Android应用程序,该应用程序使用已在Apache 2.0许可下发布的某些功能。该功能有两种方式:

  1. 作为java代码
  2. 作为Android应用程序的意图。
  3. 作为典型的开发人员,我不想让用户安装一个单独的应用程序,以便他们可以使用我自己的应用程序 - 因为它肯定会把我< / em>如果必须,请关闭使用该应用程序。

    另一方面,使用Java代码完成并运行应用程序的工作将花费更长的时间。

    我的问题是:

    1. 现在大多数开发人员在做什么?他们是否使用其他应用程序的意图?
    2. 普通消费者是否需要下载单独的应用程序才能使其正常工作?

3 个答案:

答案 0 :(得分:1)

在我的应用程序EmailAlbum中,我首先依赖于用户手机上OpenIntents OIFileManager的存在来选择SDCard上的文件或选择目标文件夹来导出生成的文件。

后来,我在我的应用程序的源代码中集成了我自己版本的OIFileManager代码,原因如下:

  • 根据另一个应用程序的基本(但必不可少)应用程序功能就像一个自杀。如果您的应用程序无法在没有其他应用程序的情况下生活,并且大多数设备上未安装此应用程序,则您的应用程序将无法使用。大多数人都希望首次启动的应用程序。
  • 另一个应用程序在市场上提供它自己的(坏)实现相同的意图,并使我的应用程序崩溃...用户在手机上安装它认为这是我的应用程序的错。
  • 无法提供一致的用户界面。

我认为使用公共Intent非常适合允许人们从各种应用程序中进行选择以扩展应用程序功能或重用应用程序生成的内容。但是您的应用程序必须能够独立生存,这取决于所有Android设备提供的标准应用程序(即,如果您希望您的应用程序能够在未使用的设备上使用,则甚至不依赖于Google专有应用程序谷歌批准的,没有Android Market或GMail的。)

答案 1 :(得分:0)

大多数开发人员都会使用通用意图(电话,网络浏览器,相机等)来调用活动。如果您的应用程序取代了其中一种常见意图,那么您不必担心任何问题。

开发人员有时会包含使用其他(非常见应用程序)的意图。我想到的一个例子是OpenWatch,它为其他开发人员提供了一个API来构建。当然,在这种情况下,如果您使用的是这样的蓝牙手表,那么您很可能已经安装了OpenWatch,因此在其上构建另一个应用程序并不是很麻烦。

如果您认为人们会使用它,我会说提供API。

答案 2 :(得分:0)

可能还想看看这里:http://www.openintents.org/en/

我认为即便谷歌也有一个依赖于第三方软件包的应用程序。在应用程序启动时,用户会收到一个对话框,要求他下载所述软件包。如果他拒绝,则相应的功能被禁用。

但是我只对技术精明的用户使用这种方法,常规的乔很可能会被它推迟。如果功能并不重要,只需将其作为额外奖励使用,否则将其删除。