Android 如何仅在启用internet连接时发送信息?

Android 如何仅在启用internet连接时发送信息?,android,Android,使用此方法,我知道用户何时连接或未连接。 public boolean isOnline() { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); if (netInfo != null && netI

使用此方法,我知道用户何时连接或未连接。

public boolean isOnline() {
    ConnectivityManager cm = 
         (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnected()) {
        return true;
    }
    return false;
}

在我的应用程序中,当用户按send时,它会将一些数据上传到服务器,如果没有连接,它会说“我们将稍后尝试发送”,但我如何检查internet状态,以及仅当连接打开时,才发送信息

当检测不到internet连接时,为什么不提醒用户连接时将发送消息。运行后台进程或服务,定期检查用户是否已连接,以及发送数据的方法何时运行。

这将有助于:

如果需要其他示例:


第一个链接中的站点(AndroidHive.info)是新手最好的朋友。所有的图坦卡门都提供了dl-able源代码,几乎是傻瓜式的,并且编写/记录得非常好。你可以做很多事情,只要把他的图坦卡蒙的不同作品拼凑成一些独特的东西。学习imo的最佳方法首先,使用
IntentService
处理所有数据上传。让它使用您使用的方法检查连接情况-如果已连接,则上载数据,否则将其存储(使用
SharedReferences
或数据库)

其次,创建一个
BroadcastReceiver
,并使用以下
在清单中注册它

<intent-filter>
    <action android:name="android.net.wifi.STATE_CHANGE" />
    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />"
</intent-filter>

"
注意:您将需要以下权限

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

BroadcastReceiver
onReceive(…)
方法中,让它检查是否有数据挂起,如果有,让它启动
IntentService
发送数据


另外,使用由
IntentService
创建的
通知
向用户提供反馈。

您已经有了检查连接的方法,为什么不直接调用它呢?为此提供服务..并检查互联网连接,或者可以使用receiver。谢谢,但我如何创建检查ev的时间间隔每5分钟一次,或者有什么方法可以在连接启用时自动调用此方法?