2015-09-12 75 views
0

我想检查与广播接收器的互联网连接。我写了一些代码来检查互联网连接。以下是我的源代码的Android检查互联网连接刷新当前片段

public static boolean isNetworkAvailable(Context context) { 
     boolean isMobile = false, isWifi = false; 

     NetworkInfo[] infoAvailableNetworks = getConnectivityManagerInstance(
       context).getAllNetworkInfo(); 

     if (infoAvailableNetworks != null) { 
      for (NetworkInfo network : infoAvailableNetworks) { 

       if (network.getType() == ConnectivityManager.TYPE_WIFI) { 
        if (network.isConnected() && network.isAvailable()) 
         isWifi = true; 
       } 
       if (network.getType() == ConnectivityManager.TYPE_MOBILE) { 
        if (network.isConnected() && network.isAvailable()) 
         isMobile = true; 
       } 
      } 
     } 

     return isMobile || isWifi; 
    } 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     if (isNetworkAvailable(context)) 
       { 
      Toast.makeText(context, "Network Available Do operations",Toast.LENGTH_LONG).show(); 


    } 

} 

现在我想在片段中使用我的BroadcastReceiver。当互联网连接不可用时,我试图刷新片段。我不知道如何刷新我的片段。 如果有人知道解决方案,请帮助我 谢谢

+0

如果要重装你的'Fragment'显示的数据,你可以使用'Loader'在片段加载数据和加载器将包括将在调用'onContentChange()'触发重载的广播接收器。 – BladeCoder

+0

我明白如何重新加载片段,但告诉我我怎么能在片段中调用我的onReceive方法? @Tauqir –

回答

0

您可以使用片段事务来重建和显示您的片段。看看这个tutorial

+0

我明白如何重新加载片段,但告诉我如何可以在片段中调用我的onReceive方法? –

+0

您可以调用片段类中的onresume/onpause方法来注册/取消注册接收器。但是你需要创建一个类来处理这个事件 – Ricky