我想开发一个可以离线工作的应用程序,但我也想在设备上线时将这个离线值发送到服务器。我使用广播接收器来触发服务(当互联网连接到达时)但是它不再受支持,这种情况的替代方案是什么?
答案 0 :(得分:0)
尝试此方法
- 注册接收器
醇>
<receiver android:name=".broadcast.DataSync"
android:exported="true"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT"/>
</intent-filter>
</receiver>
- 在
中 醇>DataSync
在onReceive
方法中检查互联网连接,
if(isNetworkAvailable()){
//do your method call for send data to server
}
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
别忘了添加清单文件。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>