android.os.NetworkOnMainThreadException 从 Android 发送电子邮件

标签 android android-asynctask smtpclient networkonmainthread

<分区>

我已经编写了一个从 Android 设备发送电子邮件的应用程序,但是当我尝试发送电子邮件时出现以下异常:

android.os.NetworkOnMainThreadException

为什么会发生这种情况,我该如何解决?

最佳答案

哪个 SDK 版本?如果 14 岁以上,请参阅 this link .

解决办法是

仅供调试

添加这些行

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

真实案例

将代码放在 AsyncTask 上:

private class Connection extends AsyncTask {
    @Override
    protected Object doInBackground(Object... arg0) {

        connect();
        return null;
    }
}

然后调用:

new Connection().execute("");

关于android.os.NetworkOnMainThreadException 从 Android 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18297485/

相关文章:

android - 在 Fragment destroy 上关闭活跃的 snackbar

android - 失败的Sepolicy检查-Android 10建筑-Pixel 3a XL

java - 根据显示自动切换textview大小

java - Android - AsyncTask 中的 setAdapter()

c# - 我如何知道 smtp 服务器是否已发送我的电子邮件?

email - VB6中使用CDO/SMTP/TLS发送邮件smtp.office365.com邮件服务器

android - 我的广播接收器是显式的还是隐式的?

Android - AsyncTask 套接字写入超时

Android:从AsyncTask请求位置权限

c# - 如何知道该电子邮件已发送,并且可以删除附件?