android 开启各种设备

一、GPS

    1. 方法一(没试过)

        //获取GPS现在的状态(打开或是关闭状态)
        boolean gpsEnabled = Settings.Secure.isLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER );

        if (gpsEnabled) {
            //关闭GPS
            Settings.Secure.setLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER, false );
        } else {
            //打开GPS
            Settings.Secure.setLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER, true);
        }

    2. 方法二(试过可行)通过setting自带的widget完成

       *切换gps

        privatevoid toggleGPS() {

            Intent gpsIntent = new Intent();

            gpsIntent.setClassName("com.android.settings",

                "com.android.settings.widget.SettingsAppWidgetProvider");

            gpsIntent.addCategory("android.intent.category.ALTERNATIVE");

            gpsIntent.setData(Uri.parse("custom:3"));

             try {

                  PendingIntent.getBroadcast(this, 0, gpsIntent, 0).send();

             }catch (CanceledException e) {

                 e.printStackTrace();

             }

         }  

        *获得gps是否关闭

         privatevoid isGPSEnable() {

             /* 用Setting.System来读取也可以,只是这是更旧的用法

            String str = Settings.System.getString(getContentResolver(),

                Settings.Secure.LOCATION_PROVIDERS_ALLOWED);*/

            String str = Settings.Secure.getString(getContentResolver(),Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

            if (str !=null) {

                return str.contains("gps");

            } else {

                returnfalse;

            }

         }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值