Gop*_*ote 5 java android gcm-network-manager
需要调度程序
Run task immediately after net is availableReschedule task if it fails because of some problems.should handle cases of broadcast receiver to know if connection availableNo delay in execution if the internet is already available not like GCMNetworkManager's OneOfTask which take at least 30 seconds to execute the scheduled task我尝试了GCM网络管理器的OneOfTask处理它,但即使互联网可用,也需要至少30秒才能执行.
是否有任何其他调度程序将所有上述任务合二为一.
使用可以侦听网络连接变化的广播接收器。并使用 ConnectivityManager 检查设备是否已连接到互联网。如果您的设备已连接到互联网,则安排您的任务。
使用广播接收器。将以下行添加到清单中。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<receiver android:name="yourpackage.ConnectivityReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
监听类:
package yourpackage;
public class ConnectivityReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
switch (action) {
case ConnectivityManager.CONNECTIVITY_ACTION:
ConnectivityManager connMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
//start schedule
}else{
//stop schedule
}
break;
}
}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
927 次 |
| 最近记录: |