提前感谢您的帮助。
我正在开发一款Android应用程序,作为其核心功能的一部分,需要在用户之间发送电子邮件(点对点电子邮件,而不是垃圾邮件)。这些电子邮件需要包含一个链接,该链接将在用户单击时打开Android应用程序
我遇到的问题是:当我将这些电子邮件发送到gmail帐户时,链接显示为普通文本而不是链接。
这是我的代码
private void sendEmail(String recepientName, String recipientEmail) {
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
String aEmailList[] = { recipientEmail };
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "My Title");
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(
"<!DOCTYPE html><html><body>" +
"<br>Dear " + recepientName + ",<br>" +
"Please <a href=\"myapp://" + "\"><font>click here</font></a></body></html>"));
startActivityForResult(emailIntent, EMAIL_REQUEST);
}
如何才能使这些链接在收到的电子邮件中发挥作用?
再次感谢
答案 0 :(得分:2)
我发现的是以某种方式(可能具有很强的天赋)我进入了谷歌的黑名单。 这意味着Google剥离了我的代码中的链接,用户将其视为常规文本
这是推理:
我的链接如下所示:myAppName:// parameter1 / parameter2 / Parameter3
前缀(“myAppName://”)允许Android识别我的应用并在您点击链接时启动它。
但是: 当这个链接被发送到一个Gmail帐户时,谷歌的服务器能够识别出这是一个无效的链接(非常酷,他们检查了哈哈!)并且他们剥离了链接。
解决方案是使用真实URL进行App识别并启动: 类似于:http://myhost.com/parameter1/parameter2/Parameter3
希望有所帮助
android:scheme =“http”和相应的android:host