使用ACTION_WIRELESS_SETTINGS进行连接设置

时间:2013-07-11 17:52:02

标签: android android-service android-internet

任何人都可以指导如何检查条件的互联网连接设置?我需要类似于这组代码的东西。

LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
boolean enabled = service
  .isProviderEnabled(LocationManager.GPS_PROVIDER);

if (!enabled) {
  Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
  startActivity(intent);
}

以下是我的代码,我想将GPS检查替换为互联网连接检查。

public class MainActivity extends FragmentActivity implements LocationListener, LocationSource{

private GoogleMap map;
private OnLocationChangedListener mListener;
private LocationManager locationManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
        boolean enabled = service
          .isProviderEnabled(LocationManager.GPS_PROVIDER);

        if (!enabled) {
          Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
          startActivity(intent);
        }

        locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

        if(locationManager != null)
        {
            boolean gpsIsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
            boolean networkIsEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
            if(gpsIsEnabled)
                locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000L, 10F, this); 
            else if(networkIsEnabled)   
                locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 3000L, 10F, this);     
            }
        setUpMapIfNeeded();
    } 

    //after user install/update Google Play Service, user might return to this activity
    //to stop or resume the activity, onPause and onResume is needed
    @Override
    public void onPause()
    {
        if(locationManager != null)
        {
            locationManager.removeUpdates(this);
        }
        super.onPause();
    }

    @Override
    public void onResume()
    {
        super.onResume();
        setUpMapIfNeeded();
        if(locationManager != null)
        {
            map.setMyLocationEnabled(true); //detect current location
        }
    }

1 个答案:

答案 0 :(得分:0)

你可以使用这样的东西..

public boolean isOnline(final Context context) {
ConnectivityManager cm = (ConnectivityManager)         context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
Builder  dialogb = new AlertDialog.Builder(context);
if (netInfo != null && netInfo.isConnected()) {
    return true;
}
       dialogb.setTitle("No Internet.. :(");
       dialogb.setMessage("We need internet to work. Kindly switch it on.");
       dialogb.setPositiveButton("Turn on", new DialogInterface.OnClickListener() {

           @Override
           public void onClick(DialogInterface paramDialogInterface, int paramInt) {
               // TODO Auto-generated method stub
               Intent myIntent = new Intent( Settings.ACTION_WIRELESS_SETTINGS);
               context.startActivity(myIntent);
               //get gps

           }
       });
       dialogb.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

           @Override
           public void onClick(DialogInterface paramDialogInterface, int paramInt) {
               // TODO Auto-generated method stub


           }
       });
       dialogb.show();
return false;
}