可以收到广播后cancel之前的任务,delay执行当前任务。
解决方案 »
- 怎样在android平台上使用第三方jar包???
- 在eclipse中双击logcat中提示的异常地方无效?
- android下JNI调用c++游戏代码编程,求高手解惑。
- 启动应用程序的问题[貌似跟task有关]
- 如何使某一个activity 不出现在最近打开程序列表里?
- 为什么遍历Activity layout中的控件时取不值
- android_NDK_r5c 编译动态库时需要使用其他库,这些库放在哪?
- Android应用开发揭秘(杨丰盛)-源码
- 为什么输入框中不可以输入文字数字等信息
- android 调用webservice没有查询结果
- 关于cocos2d-x的新手问题!
- android 经典问题
之前处理过,用handler,SendMessage,填写delay的参数。发送出去msg。
第二次收到之后先cancel刚发出去的msg,再发送当前的。
这样在比较短的时间内,连续多个广播时只执行最后一次广播。
只是一种解决办法。
这样既简单又方便啊
你可以在每一次状态切换后将flag置为初始值不就可以了吗!
NetworkInfo.State state = netInfo.getState();
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if ((state == NetworkInfo.State.CONNECTED) && (activeNetInfo != null) && (activeNetInfo.getType() != netInfo.getType())) {return;}
activeNetInfo.getType() != netInfo.getType()
&& (activeNetInfo != null)
&& (activeNetInfo.getType() != netInfo.getType())) {这个判断好像不起作用耶!!!第二第三个广播都没跑进这里!
private int i = 0;(全局的)if(有网){
i++;
if(i%3 == 0){
Toast............................
}
}