gpt4 book ai didi

android - 如何在phonegap android中发送电子邮件

转载 作者:行者123 更新时间:2023-11-30 04:22:24 25 4
gpt4 key购买 nike

我尝试使用 webintent http://smus.com/android-phonegap-plugins在 phonegap android 4 应用程序中发送电子邮件。但我不太了解网站和插件自述文件。

例如如何使用它?

window.plugins.webintent.startActivity({
action: WebIntent.ACTION_VIEW,
url: 'geo:0,0?q=' + address},
function() {},
function() {alert('Failed to open URL via Android Intent')};
);

<a href="mailto:support@fareastgadget.com&subject=Report%20issues&body=Reporting%20following%20issues:">

如果我使用 html 标记,android 手机将只过滤 url 并导调用子邮件收件人成为整个字符串。

任何人都可以提供一些关于如何在 phonegap 中发送电子邮件的示例代码或教程(虽然不需要 webintent)?

谢谢。

最佳答案

使用标记电子邮件解决方案,客户回来说电子邮件是空白的,没有在某些设备上添加内容。因此,我着手实现 Web Intent 插件(正如您从包名称中看到的那样),但我最终只实现了一个新的电子邮件插件。

这是 Java 类。

package com.webintent.emailcomposer;

import org.apache.cordova.api.PluginResult;
import org.apache.cordova.api.PluginResult.Status;
import org.json.JSONArray;
import org.json.JSONException;
import android.content.Intent;
import android.net.Uri;
import android.text.Html;
import com.phonegap.api.Plugin;

public class EmailComposer extends Plugin {
public final String ACTION_SEND_EMAIL = "SendEmail";

public PluginResult execute(String action, JSONArray arg1, String callbackId) {

PluginResult result = new PluginResult(Status.INVALID_ACTION);
if (action.equals(ACTION_SEND_EMAIL)) {
try {
String email = arg1.getString(0);
String subject = arg1.getString(1);
String message = arg1.getString(2);
this.sendEmail(email, subject, message);
result = new PluginResult(Status.OK);
}
catch (JSONException ex) {
result = new PluginResult(Status.JSON_EXCEPTION, ex.getMessage());
}
}
return result;
}

private void sendEmail(String email, String subject, String message) {
final Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{email});
intent.putExtra(
Intent.EXTRA_TEXT,
Html.fromHtml(new StringBuilder()
.append(message)
.toString())
);
intent.setType("text/html");
this.ctx.startActivity(Intent.createChooser(intent, "Choose email account"));
}
}

记得更新plugins.xml

这是js插件代码

var EmailPlugin = function () {};

cordova.addConstructor(function() {
return cordova.addPlugin("email", new EmailPlugin());
});

EmailPlugin.prototype.send = function (email, subject, message){
cordova.exec(function(){ alert('email success')},
function(){ alert('email fail')},
'EmailComposer',
'SendEmail',
[email, subject, message]);
}

最后,您可以这样调用插件。

window.plugins.email.send(email, subject, body);

请注意,我没有在参数中包含回调,但您可以看到它们的去向。

关于android - 如何在phonegap android中发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9073201/

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