2017-08-03 453 views

回答

0

试试这个方法

public static boolean isInternetOn(Context context) { 
    ConnectivityManager connec = (ConnectivityManager) context 
      .getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo mWifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
    if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED || 
      connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING || 
      connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING || 
      connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED 
      || mWifi.isConnectedOrConnecting()) { 
     return true; 
    } else if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED || 
      connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED || 
      mWifi.getState() == NetworkInfo.State.DISCONNECTED) { 
     return false; 
    } 
    return false; 
} 
+0

它用于检查互联网连接,我要求signalr hubconnection – Hari

0

,当你调用此方法比这种情况下,你可以得到hubconnection的当前状态。

private void startSignalR() { 
     Platform.loadPlatformComponent(new AndroidPlatformComponent()); 
     mInstance.setmHubConnection(getApplicationContext()); 
     mInstance.setHubProxy(); 
     ClientTransport clientTransport = new ServerSentEventsTransport(mInstance.mHubConnection.getLogger()); 
     signalRFuture = mInstance.mHubConnection.start(clientTransport); 
     try { 
      signalRFuture.get(); 
     } catch (InterruptedException | ExecutionException e) { 
      SharedPrefUtil.clearAllSharedPreferences(getApplicationContext()); 
      Toast.makeText(getApplicationContext(), getString(R.string.wrong_server), Toast.LENGTH_LONG).show(); 
      Log.e("SimpleSignalR", e.toString()); 
      return; 
     } 

     mInstance.mHubConnection.error(new ErrorCallback() { 

      @Override 
      public void onError(Throwable error) { 
       error.printStackTrace(); 
      } 
     }); 

     // Subscribe to the connected event 
     mInstance.mHubConnection.connected(new Runnable() { 

      @Override 
      public void run() { 
       System.out.println("CONNECTED"); 
      } 
     }); 

     mInstance.mHubConnection.reconnected(new Runnable() { 

      @Override 
      public void run() { 

       System.out.println("RECONNECTED"); 
      } 
     }); 
     // Subscribe to the closed event 
     mInstance.mHubConnection.closed(new Runnable() { 

      @Override 
      public void run() { 

       System.out.println("DISCONNECTED"); 
      } 
     }); 

     mInstance.mHubProxy.on(SignalRConstant.CLIENT_METHOD_BROADAST_MESSAGE, 
       new SubscriptionHandler2<String, Object>() { 
        @Override 
        public void run(final String msg, final Object data) { 
         if (msg != null && data != null && !data.equals("")) { 
          Intent intent = new Intent(); 
          intent.setAction(MY_ACTION); 
          intent.putExtra("CAPTION", msg); 
          if(msg.equals(SignalRConstant.CAPTION_LOGINPASS)) 
          { 
           Gson gson = new GsonBuilder().setDateFormat(AppConstant.DATE_FORMAT).create(); 
           intent.putExtra("DATA", gson.toJson(data)); 
          }else{ 
           intent.putExtra("DATA", data.toString()); 
          } 
          sendBroadcast(intent); 
         } 
        } 
       } 
       , String.class, Object.class); 
    } 
相关问题