我在我的應用程序中使用BroadcastReceiver實現了互聯網連接丟失。代碼工作正常,但在互聯網連接或斷開連接上顯示的警報顯示兩次。我想顯示警報或吐司僅在time.Below曾經是我的BroadcastReceiveronReceive of BroadcastReceiver在android中顯示警告2次
的代碼public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.net.conn.CONNECTIVITY_CHANGE")) {
ConnectivityManager cm =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED
|| cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
// notify user you are online
Toast.makeText(context.getApplicationContext(), "Connected", Toast.LENGTH_LONG).show();
} else if (cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.DISCONNECTED
|| cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.DISCONNECTED) {
Constants.alert("Please check your internet connection", context);
// notify user you are not online
}
添加敬酒更多的調試信息:國家對每個網絡 – bukkojot
@bukkojot你能PLZ提供代碼提示? –
就像這樣,將它添加到onReceive的開頭,並在變化處看到:Toast.makeText(context.getApplicationContext(),「onReceive:」+ intent.getAction()+「,mobile:」+ cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE )+「,wifi:」+ cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI),Toast.LENGTH_LONG).show(); – bukkojot