首页 > 解决方案 > 每当设备连接到互联网时,我如何提交我的表单

问题描述

我想创建一个应用程序,用户可以通过一个简单的表单提交他的信息。现在,如果用户没有连接到互联网,它应该缓存数据,并且每当用户连接到互联网时,它就会开始上传该数据而不通知用户。

有什么帮助吗?

标签: android

解决方案


使用此接收器,它将帮助您在设备在线时提交表单

public class NetworkChangeReceiver extends BroadcastReceiver{

    private static final String LOG_TAG = "NetworkChangeReceiver";
    private boolean isConnected = false;

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.v(LOG_TAG, "Receieved notification about network status");
        isNetworkAvailable(context);
    }

    private boolean isNetworkAvailable(Context context) {
        ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        if (connectivity != null) {
            NetworkInfo[] info = connectivity.getAllNetworkInfo();
            if (info != null) {
                for (int i = 0; i < info.length; i++) {
                    if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                        if (!isConnected) {
                            Log.v(LOG_TAG, "Now you are connected to Internet!");
                            Toast.makeText(context, "Internet available via Broadcast receiver", Toast.LENGTH_SHORT).show();
                            isConnected = true;
                            // do your processing here ---
                            // if you need to post or get any data to the server 
                        }
                        return true;
                    }
                }
            }
        }
        Log.v(LOG_TAG, "You are not connected to Internet!");

        isConnected = false;
        return false;
    }


}

让我知道它是否适合您或这方面的任何其他问题。


推荐阅读