gpt4 book ai didi

android - 我可以通过电子邮件中的链接将变量传递给 Android 应用程序吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:26 24 4
gpt4 key购买 nike

我有一项用户注册的服务,部分注册过程需要电子邮件确认。用户可以通过三种方式注册该服务。在网络上、使用 iPhone 应用程序或使用 Android 设备。

当我向他们发送电子邮件以确认他们的注册时,我可以包含完成注册的链接,并且为了让用户更轻松地完成注册,我可以附上他们的用户名和验证码,然后自动将其放入形式。

对于 HTML 链接,它看起来像这样:

<a target="_blank" href="https://mysite.com/confirmation.html?verification=XXXXXXXXX&username=larry">Complete verification on the web</a>

我可以通过链接到 PHP 脚本来让应用程序在 iPhone 上打开:

<a target="_blank" href="https://mysite.com/iphoneopen.php?verification=XXXXXXXXX&username=larry">complete your verification with the iPhone app</a>

然后在 PHP 脚本中我有这个:

<meta http-equiv="refresh" content="0;URL=myappname://?verification=XXXXXXXXX&username=larry"/>

我在 Android 上使用什么代码,以便当用户在手机上收到电子邮件(可能使用 GMail 应用程序)时,他们可以单击链接并直接转到该应用程序?以及如何在该链接中包含变量?

我正在为我的 Android 应用程序使用 Adob​​e Phonegap Build,因此它是使用 Javascript 和 HTML 构建的。结果,我不知道什么是“Intent 过滤器”。请在回答时考虑到这一点。感谢您的理解。

最佳答案

在您的 AndroidManifest.xml 中,您需要添加以下 XML 作为您的 Activity 的子项,这将添加一个 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="https" android:host="mysite.com" />
</intent-filter>

然后,在您的主 Java 文件中,您调用如下一行:

super.loadUrl(“file:///android_asset/www/index.html”);

添加以下代码(在上面一行之后):

try {
Uri uri = getIntent().getData();
String data = uri.getSchemeSpecificPart();//this will set data to //mysite.com/iphoneopen.php?verification=XXXXXXXXX&username=larry
if (data != null) {
String[] vars = data.split("?");
vars = vars[1].split("&");
String verification = vars[0].split("=")[1];
String username = vars[1].split("=")[1];
//TODO: handle verification and username from here.
}
} catch (Throwable t) {
t.printStackTrace();
}

关于android - 我可以通过电子邮件中的链接将变量传递给 Android 应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18181147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com