2

嗨,我正在开发一个需要通过代码打开/关闭 gprs 的应用程序。我正在使用这种方法来检查连接是否打开/关闭。但是我不知道如果gprs关闭了如何打开它

代码

NetworkInfo i = conMgr.getActiveNetworkInfo();
  if (i == null)
    return false;
  if (!i.isConnected())
    return false;
  if (!i.isAvailable())
    return false;
  return true;
4

1 回答 1

2

使用此代码获取Broadcast Wifi 或 GPRS 可用性

BroadcastReceiver br;
br = new BroadcastReceiver() {

 @Override
public void onReceive(Context arg0, Intent intent) {
    // TODO Auto-generated method stub  
        String action = intent.getAction();
        if (!action.equals(ConnectivityManager.CONNECTIVITY_ACTION))
           {
              return;
           }
  boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); 
  NetworkInfo aNetworkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);                            

      if (!noConnectivity)
         {
          if (aNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) 
               {
                    Toast.makeText(getApplicationContext(), "Mobile Connected", Toast.LENGTH_LONG).show();
                      //Handle connected case
               }
         if (aNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI)
               {
                    Toast.makeText(getApplicationContext(), "WIFI Connected", Toast.LENGTH_LONG).show();
               }    
          }

       else
         {
              if ((aNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) ||
                            (aNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI))
                    {
                        Toast.makeText(getApplicationContext(), "Not Connected", Toast.LENGTH_LONG).show();
                    }
         }              
     }
};

在 androidmanifest.xml 中提供以下权限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

并且不要忘记register和。unregister BroadcastReceiver

于 2012-07-28T08:53:07.857 回答