用程序打开GPS

public class GpsManager {

    @SuppressWarnings("deprecation")
    public static void turnGPSOn(Context context) {
        Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
        intent.putExtra("enabled", true);
        context.sendBroadcast(intent);

        String provider = Settings.Secure.getString(context.getContentResolver(),
                Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
        if (!provider.contains("gps")) { // if gps is disabled
            final Intent poke = new Intent();
            poke.setClassName("com.android.settings",
                    "com.android.settings.widget.SettingsAppWidgetProvider");
            poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
            poke.setData(Uri.parse("3"));
            context.sendBroadcast(poke);

        }
    }


    public static void turnGPSOff(Context context) {
        Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
        intent.putExtra("enabled", false);
        context.sendBroadcast(intent);
        // String provider =
        // Settings.Secure.getString(this.getContentResolver(),
        // Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
        // if (provider.contains("gps")) { // if gps is enabled
        // final Intent poke = new Intent();
        // poke.setClassName("com.android.settings",
        // "com.android.settings.widget.SettingsAppWidgetProvider");
        // poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
        // poke.setData(Uri.parse("3"));
        // this.sendBroadcast(poke);
        // }
    }
}

清单文件添加权限:

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_GPS" />
    <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


activity标签下添加:

 android:exported="true"

调用

     findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String languageToLoad = "en";
                Locale locale = new Locale(languageToLoad);
                Locale.setDefault(locale);
                Configuration config = new Configuration();
                config.locale = locale;
                getBaseContext().getResources().updateConfiguration(config, null);
            }
        });
        findViewById(R.id.btn_gps_on).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                GpsManager.turnGPSOn(MainActivity.this);
            }
        });
        findViewById(R.id.btn_gps_off).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                GpsManager.turnGPSOff(MainActivity.this);
            }
        });
    }

    

     findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String languageToLoad = "en";
                Locale locale = new Locale(languageToLoad);
                Locale.setDefault(locale);
                Configuration config = new Configuration();
                config.locale = locale;
                getBaseContext().getResources().updateConfiguration(config, null);
            }
        });
        findViewById(R.id.btn_gps_on).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                GpsManager.turnGPSOn(MainActivity.this);
            }
        });
        findViewById(R.id.btn_gps_off).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                GpsManager.turnGPSOff(MainActivity.this);
            }
        });
    }

     findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String languageToLoad = "en";
                Locale locale = new Locale(languageToLoad);
                Locale.setDefault(locale);
                Configuration config = new Configuration();
                config.locale = locale;
                getBaseContext().getResources().updateConfiguration(config, null);
            }
        });
        findViewById(R.id.btn_gps_on).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                GpsManager.turnGPSOn(MainActivity.this);
            }
        });
        findViewById(R.id.btn_gps_off).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                GpsManager.turnGPSOff(MainActivity.this);
            }
        });
    }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值