Android 警报以启用gps和网络、位置

Android 警报以启用gps和网络、位置,android,Android,我想测试gps是否启用,如果启用,则显示警报 protected void createGpsDisabledAlert() { AlertDialog builder = new AlertDialog.Builder(this).create(); builder.setMessage("Your GPS is disabled! Would you like to enable it?"); builder.setButton("Enabl

我想测试gps是否启用,如果启用,则显示警报

            protected void createGpsDisabledAlert() {
    AlertDialog builder = new AlertDialog.Builder(this).create();
    builder.setMessage("Your GPS is disabled! Would you like to enable it?");

    builder.setButton("Enable GPS", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            showGpsOptions();
        }

    });
    builder.setButton2("Do nothing", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            return;
        }
    });

    builder.show();
}

private void showGpsOptions() {
    Intent gpsOptionsIntent = new Intent(
            android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
    startActivity(gpsOptionsIntent);

}
我做了调试,看起来一切正常,我没有错误,但警报不会出现,即使它在方法中出现


提前感谢

检查此代码我添加GPS在Toast中启用或禁用

import android.app.Activity;
import android.content.*;
import android.location.*;
import android.net.Uri;
import android.os.Bundle;
import android.view.Window;
import android.widget.*;

public class DirectionsWhereisparty extends Activity {
    double destin_lat = 0, destin_lng = 0;
    double current_lat = 0, current_lng = 0;
    boolean flag = true;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        LocationListener mlocListener = new MyLocationListener();
        mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
                mlocListener);
    }

    public void go(double c_lat, double c_lng, double d_lat, double d_lng) {

        Bundle b = getIntent().getExtras();

        if (b != null) {

            String lat = b.getString("lat");
            String lng = b.getString("lng");

            d_lat = Double.parseDouble(lat);
            d_lng = Double.parseDouble(lng);

            // System.out.println("d_lat " + d_lat);
            // System.out.println("d_lng " + d_lng);

            String Text = "My current location is: " + "Latitude = " + c_lat
                    + "Longitude = " + c_lng;

            Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT)
                    .show();

            Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri
                    .parse("http://maps.google.com/maps?saddr=" + c_lat
                            + "   ,  " + c_lng + "&daddr=" + d_lat + "   ,   "
                            + d_lng));
            startActivity(intent);
        }
    }

    public class MyLocationListener implements LocationListener

    {

        public void onLocationChanged(Location loc) {

            current_lat = loc.getLatitude();
            current_lng = loc.getLongitude();

            if (flag == true) {
                flag = false;
                go(current_lat, current_lng, destin_lat, destin_lng);
            }

        }

        public void onProviderDisabled(String provider) {
            Toast.makeText(getApplicationContext(), "Gps Disabled",
                    Toast.LENGTH_SHORT).show();

        }

        public void onProviderEnabled(String provider) {
            Toast.makeText(getApplicationContext(), "Gps Enabled",
                    Toast.LENGTH_SHORT).show();
        }

        public void onStatusChanged(String provider, int status, Bundle extras) {
            // TODO Auto-generated method stub

        }

    }

}

检查此代码我添加GPS在Toast中启用或禁用

import android.app.Activity;
import android.content.*;
import android.location.*;
import android.net.Uri;
import android.os.Bundle;
import android.view.Window;
import android.widget.*;

public class DirectionsWhereisparty extends Activity {
    double destin_lat = 0, destin_lng = 0;
    double current_lat = 0, current_lng = 0;
    boolean flag = true;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        LocationListener mlocListener = new MyLocationListener();
        mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
                mlocListener);
    }

    public void go(double c_lat, double c_lng, double d_lat, double d_lng) {

        Bundle b = getIntent().getExtras();

        if (b != null) {

            String lat = b.getString("lat");
            String lng = b.getString("lng");

            d_lat = Double.parseDouble(lat);
            d_lng = Double.parseDouble(lng);

            // System.out.println("d_lat " + d_lat);
            // System.out.println("d_lng " + d_lng);

            String Text = "My current location is: " + "Latitude = " + c_lat
                    + "Longitude = " + c_lng;

            Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT)
                    .show();

            Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri
                    .parse("http://maps.google.com/maps?saddr=" + c_lat
                            + "   ,  " + c_lng + "&daddr=" + d_lat + "   ,   "
                            + d_lng));
            startActivity(intent);
        }
    }

    public class MyLocationListener implements LocationListener

    {

        public void onLocationChanged(Location loc) {

            current_lat = loc.getLatitude();
            current_lng = loc.getLongitude();

            if (flag == true) {
                flag = false;
                go(current_lat, current_lng, destin_lat, destin_lng);
            }

        }

        public void onProviderDisabled(String provider) {
            Toast.makeText(getApplicationContext(), "Gps Disabled",
                    Toast.LENGTH_SHORT).show();

        }

        public void onProviderEnabled(String provider) {
            Toast.makeText(getApplicationContext(), "Gps Enabled",
                    Toast.LENGTH_SHORT).show();
        }

        public void onStatusChanged(String provider, int status, Bundle extras) {
            // TODO Auto-generated method stub

        }

    }

}

我创造了一种非常有益的方法! 只需根据每个活动所需的资源配置onResume即可。此方法将提醒用户启用资源,并提供资源设置的快捷方式。用户什么也不能做,但一切都已启用


更新:

我创造了一个非常令人满意的方法! 只需根据每个活动所需的资源配置onResume即可。此方法将提醒用户启用资源,并提供资源设置的快捷方式。用户什么也不能做,但一切都已启用

更新: