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;
}
}
让我知道它是否适合您或这方面的任何其他问题。
推荐阅读
- python - 通过函数传递参数
- solr - Solr 查询到 Postman 的原始数据查询
- maven - 使用 Maven 依赖插件时如何传递多个作用域?
- sql - Power Query 中的索引匹配或 Vlookup
- javascript - (未捕获的 SyntaxError:输入意外结束)
- c# - 尝试将请求发送到另一个站点时,Blazor 应用程序崩溃
- mysql - SQL 按一对多字段的特定值排序
- c# - 从 webforms 调用 WebApi 会丢失身份验证
- java - 将 Spring Security 添加到项目后未找到 Swagger UI
- dart - 如何从助记词生成以太坊的私钥?