我创建了一个应用程序。
在那个应用程序中,我想通过互联网向某个人发送消息。 如果网络不可用,则消息必须存储在本地数据库中,当互联网连接恢复时,消息必须自动发送而不点击任何刷新或同步选项(如Whatsapp信使)。
该流程是否有任何特定代码?
请帮我解决这个问题。
答案 0 :(得分:0)
为了达到您的要求,您需要不断检查互联网连接。
因此,我建议您使用 BroadcastReceiver
当连接到达或松散时,广播接收器用于事件。
您可以通过将该事件注册到项目中来检查该事件,但请记住,只要根本不需要,就需要取消注册。
例如,您应该尝试link。
希望这个答案可以解决你的问题。
答案 1 :(得分:0)
您可以使用 BroadcastReceiver 。
在 AndroidManifest :
中使用此接收器<receiver android:name=".NetworkUpdateReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
您的 NetworkUpdateReceiver :
public class NetworkUpdateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isConnected = activeNetInfo != null && activeNetInfo.isConnectedOrConnecting();
if (isConnected){
Log.i("NET", "connecte" +isConnected);
//Perform Message resend here
}
else Log.i("NET", "not connecte" +isConnected);
}
}