1

我拼命想要实现的是在用户单击通过电子邮件发送的链接时启动我的应用程序。用户将打开他/她的 android gmail 应用程序(截至今天,我的 2.3.3 Android 手机中的版本是 2.3.6)并指示点击链接,以便我的应用程序可以启动并开始工作。

我已经从 android 网站的开发者角落阅读了大量文档,并且在 SO 中也有类似的问题,当然也使用过 google-fu,但迄今为止还没有给出有效的答案,甚至没有来自 Android 工作人员本身的答案。事实是使用 SO 作为事实上的 Q/A 地方。

我已经尝试将这个配置放入清单文件中:

    <activity android:name=".MyApp" > 
        <intent-filter> 
             <action android:name="com.my.actions.MY_CUSTOM_ACTION" /> 
             <category android:name="android.intent.category.DEFAULT" /> 
             <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter> 
    </activity></code>

它没有用,所以我也尝试编写我的自定义方案,即使 hackbod说不这样做,但也根本没有用。另一种选择是拥有一个自定义网站,以便可以在指定 http 方案和主机的意图过滤器中使用“数据”标签,但这对于许多没有网站的人来说是一个阻碍。

也许我错过了一些东西。我在做什么有可能吗?即:是否可以从 gmail android 应用程序的电子邮件中写入的链接启动活动?如果是,那么这种链接必须遵循什么结构/语法?我不敢相信这会如此奇怪。它在BB和iOS中使用没有任何问题。

任何帮助表示赞赏。提前致谢。

4

1 回答 1

5

用户将打开他/她的 android gmail 应用程序

你没有办法知道这一点。用户可能正在使用任意数量的电子邮件客户端。它们不会都具有相同的行为,尽管大多数希望http:相当一致地处理链接。

但迄今为止没有给出有效的答案

是的,他们有。我个人就是这样做的。

另一种选择是拥有一个自定义网站,以便可以在指定 http 方案和主机的意图过滤器中使用“数据”标签,但这对于许多没有网站的人来说是一个阻碍。

建立一个网站需要几分钟和几美元。此外,无论如何,他们都需要这样做,才能拥有一个营销相关应用程序的网站。如果他们负担不起,他们就负担不起在 Play 商店上架应用程序的 25 美元或其他市场的类似费用。而且,如果他们正在为一家企业编写这个应用程序,那么该企业应该已经有一个网站。而且,归根结底,如果开发人员不介意用户在没有应用程序的地方点击电子邮件时收到 404,则 URL 不需要实际解析为 Internet 上的任何真实内容。

因此,如果这是一个“表演停止者”,那么呼吸也是如此。

我在做什么有可能吗?

是的。

如果是,那么这种链接必须遵循什么结构/语法?

http://www.this-so-does-not-exist.com/something可以很好地启动这个示例应用程序,通过以下方式<intent-filter>

  <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" android:host="www.this-so-does-not-exist.com" android:path="/something" />
  </intent-filter>

您会注意到此 URL 导致了 404,这表明您实际上不需要花任何钱来使此技术起作用。另请注意,此技术已在 StackOverflow 上的几个地方和其他地方的许多地方编写。

但是,intent:Gmail 似乎没有采用该方案,即使在 HTML 电子邮件中使用时也是如此。

于 2012-06-14T11:42:14.980 回答