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

使用其他Android应用程序的意图还是使用代码?,android,android-intent,Android,Android Intent,我正在编写一个Android应用程序,它使用了Apache2.0许可证下发布的一些功能。该功能有两种可用方式: 作为java代码 作为Android应用程序的目的 作为一名典型的开发人员,我不想让用户安装一个单独的应用程序,这样他们就可以使用我自己的应用程序——因为如果我不得不这样做,这肯定会让我推迟使用该应用程序 另一方面,使用Java代码启动和运行应用程序需要更长的时间 因此,我的问题是: 大多数开发人员现在在做什么?他们是否在使用其他应用程序的意图 普通消费者需要下载一个单独的应用程序才能

我正在编写一个Android应用程序,它使用了Apache2.0许可证下发布的一些功能。该功能有两种可用方式:

  • 作为java代码
  • 作为Android应用程序的目的 作为一名典型的开发人员,我不想让用户安装一个单独的应用程序,这样他们就可以使用我自己的应用程序——因为如果我不得不这样做,这肯定会让我推迟使用该应用程序

    另一方面,使用Java代码启动和运行应用程序需要更长的时间

    因此,我的问题是:

  • 大多数开发人员现在在做什么?他们是否在使用其他应用程序的意图
  • 普通消费者需要下载一个单独的应用程序才能正常工作,这对他们来说重要吗

  • 大多数开发人员都会使用一个共同的意图(电话、网络浏览器、摄像头等)来调用活动。如果你的应用程序取代了这些常见的意图之一,那么你就不必担心什么了

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


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

    可能还想看看这里:

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


    但我只会对精通技术的用户使用这种方法,普通的joe很可能会因此而感到厌烦。如果功能不重要,只需将其用作额外的奖励,否则就不需要了。

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

    后来,出于以下几个原因,我将自己版本的OIFileManager代码集成到我的应用程序源代码中:

    • 依赖另一个应用程序的基本(但必不可少)应用程序功能就像自杀。如果没有其他应用程序,您的应用程序无法正常运行,并且大多数设备上都未安装此应用程序,则您的应用程序将无法使用。大多数人都希望应用程序能在第一次启动时运行
    • 另一个应用程序在市场上,它提供了它自己的(坏的)实现相同的意图,并使我的应用程序崩溃。。。安装在手机上的用户认为这是我的应用程序的错
    • 提供一致的UI是不可能的

    我认为使用公共意图非常好,它允许人们从各种应用程序中进行选择,以扩展应用程序的功能或重用应用程序生成的内容。但你的应用程序必须能够独立运行,这仅取决于所有安卓设备提供的标准应用程序(即,如果你希望你的应用程序能够在未经谷歌批准的设备上使用,甚至不依赖谷歌专有应用程序,这些设备没有安卓市场或GMail).

    另一个例子是区域设置或任务器。他们都有很多第三方应用在使用他们的应用。