Android 网络可用时发送电子邮件

Android 网络可用时发送电子邮件,android,email,broadcastreceiver,Android,Email,Broadcastreceiver,我正在开发一个android应用程序,用于安排在指定时间发送电子邮件。 现在,我成功地设置了广播接收器,并使用了挂起的意图。 现在的问题是:假设在计划的网络或internet连接不可用时,如何实现该操作? 我可以为internet连接注册广播接收器,但我不知道如何使用它。 帮帮我 每当用户设置时间时,我调用此setAlarm方法() 在onReceive方法中,我将调用send email方法() android.net.conn.CONNECTIVITY\u更改 android.net.wif

我正在开发一个android应用程序,用于安排在指定时间发送电子邮件。
现在,我成功地设置了广播接收器,并使用了挂起的意图。
现在的问题是:假设在计划的网络或internet连接不可用时,如何实现该操作?
我可以为internet连接注册广播接收器,但我不知道如何使用它。
帮帮我

每当用户设置时间时,我调用此setAlarm方法()

在onReceive方法中,我将调用send email方法()


android.net.conn.CONNECTIVITY\u更改

android.net.wifi.wifi\u状态已更改

每当网络状态发生变化,即连接或断开连接时,您将收到这两次广播。您可以接收这些广播并发送电子邮件

有关更多信息,请参阅本教程


android.net.conn.CONNECTIVITY\u更改

android.net.wifi.wifi\u状态已更改

每当网络状态发生变化,即连接或断开连接时,您将收到这两次广播。您可以接收这些广播并发送电子邮件

有关更多信息,请参阅本教程


您可以通过直接打开“发送电子邮件”对话框发送电子邮件:

如果您有任何疑问,请参阅

如果要检查Internet连接,很容易:

public class Internetconnection 
{
     public static boolean CheckNetConnectivity(Context mContext) 
     {
        ConnectivityManager connec = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);

        if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED
                || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED)
            return true;

        return false;

    }
}

您可以通过直接打开“发送电子邮件”对话框发送电子邮件:

如果您有任何疑问,请参阅

如果要检查Internet连接,很容易:

public class Internetconnection 
{
     public static boolean CheckNetConnectivity(Context mContext) 
     {
        ConnectivityManager connec = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);

        if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED
                || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED)
            return true;

        return false;

    }
}
使用此代码

使用此代码


我参考了上面的链接,对我的项目有了想法,谢谢@Abhishek。我是否每次都要检查internet连接广播接收器,以确定邮件的发送时间?因为我正在传递带有待定意图的邮件id、主题和消息,当接收者通知我使用这些值发送邮件时。我之所以使用它,是因为用户可以将多封邮件发送给多个收件人。是的。收到广播后,请检查互联网是否已连接,然后发送邮件…因为网络断开后,您将收到广播。我参考了上述链接,对我的项目有了想法,谢谢@Abhishek。我是否每次都要检查internet连接广播接收器,以确定邮件的发送时间?因为我正在传递带有待定意图的邮件id、主题和消息,当接收者通知我使用这些值发送邮件时。我之所以使用它,是因为用户可以将多封邮件安排给多个收件人。是的..收到广播后,请检查互联网是否已连接,然后发送邮件…因为当网络断开时,您将收到广播。假设用户希望立即发送电子邮件,则表示我们可以使用此意图。我正在创建邮件调度程序,用户可以在其中设置发送电子邮件的时间。无论何时,邮件都会自动发送,并在发送邮件时发出一些通知。创建电子邮件选择器将要求用户选择电子邮件客户端。但这不适合我的项目。我可以使用javax.mail库在后台发送电子邮件。好的,这很简单,我更新了我的答案,我发送了一个任务代码,在这个帮助下,你的互联网连接检查,你也可以立即发送你的邮件。您必须在调度程序中调用“new SetDataOfWebService().execute();”这个命令,它的wrk PRPRLYThat's fine@ishu。但我只是在安排邮件时使用广播接收器。收到邮件后,我才调用sendmail方法发送。我应该粘贴我用来发送邮件的代码吗?然后你可以根据该代码指导我。很抱歉,我不能在这里粘贴,因为字符有限。假设用户希望立即发送电子邮件,那么我们可以使用此意图。我正在创建邮件调度程序,用户可以在其中设置发送电子邮件的时间。无论何时,邮件都会自动发送,并在发送邮件时发出一些通知。创建电子邮件选择器将要求用户选择电子邮件客户端。但这不适合我的项目。我可以使用javax.mail库在后台发送电子邮件。好的,这很简单,我更新了我的答案,我发送了一个任务代码,在这个帮助下,你的互联网连接检查,你也可以立即发送你的邮件。您必须在调度程序中调用“new SetDataOfWebService().execute();”这个命令,它的wrk PRPRLYThat's fine@ishu。但我只是在安排邮件时使用广播接收器。收到邮件后,我才调用sendmail方法发送。我应该粘贴我用来发送邮件的代码吗?然后你可以根据该代码指导我。对不起,我不能粘贴在这里,因为字符有限。
Intent emailActivity = new Intent(Intent.ACTION_SEND);
            emailActivity.putExtra(Intent.EXTRA_EMAIL, new String[] { email });
            emailActivity.putExtra(Intent.EXTRA_SUBJECT, "SubjectName");
            emailActivity.setType("message/rfc822");
            startActivity(Intent.createChooser(emailActivity,
                    "Select your Email Provider :"));
public class Internetconnection 
{
     public static boolean CheckNetConnectivity(Context mContext) 
     {
        ConnectivityManager connec = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);

        if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED
                || connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED)
            return true;

        return false;

    }
}
Intent email = new Intent(Intent.ACTION_SEND);
   email.putExtra(Intent.EXTRA_EMAIL, new String[] { email address whom you want to send});
   email.putExtra(Intent.EXTRA_CC, new String[]{ to});
   email.putExtra(Intent.EXTRA_BCC, new String[]{to});
   email.setData(Uri.parse( email address whom you want to send)); 
   email.putExtra(Intent.EXTRA_SUBJECT, "Regards");
   startActivity(Intent.createChooser(emailActivity,
                        "Select your Email Provider :"));