对于网上提到的几种开启或者关闭GPS方案,分别进行了测试,开发环境android 7.0,时间202007;

其中方案1和2,成功;方案3,成功;

方案1:(失败)

    // 这段代码可以实现GPS开关状态的切换-经过测试不行;20200722
//        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(MainActivity.this, 0, GPSIntent, 0).send();
//        } catch (PendingIntent.CanceledException e) {
//            e.printStackTrace();
//        }
//        try {
//            Thread.sleep(2000);
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }

方案2:(失败)

Settings.Secure.setLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER, true);

在权限添加这里卡住,提示需要在系统-app目录下;

<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

方案3:(可以)

//开启GPS
public static final String GPS_ON = "settings put secure location_providers_allowed +gps";
    
//关闭GPS
public static final String GPS_OFF = "settings put secure location_providers_allowed -gps";
 
//查看GPS状态
public static final String QUERY_GPS_STATE = "settings get secure location_providers_allowed";

参考:https://blog.csdn.net/u013512708/article/details/103087761?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-6

private void toggleGPS(String cmd){//Runtime对象Runtime runtime = Runtime.getRuntime();OutputStream localOutputStream=null;DataOutputStream localDataOutputStream=null;try {Process localProcess = runtime.exec("su");localOutputStream = localProcess.getOutputStream();localDataOutputStream = new DataOutputStream(localOutputStream);localDataOutputStream.writeBytes(cmd);localDataOutputStream.flush();Log.e(TAG,"执行命令"+cmd);} catch (IOException e) {//MyLog.e(TAG+"strLine:"+e.getMessage());e.printStackTrace();}finally {if(localDataOutputStream!= null){try {localDataOutputStream.close();} catch (IOException e) {e.printStackTrace();}}if(localOutputStream!= null){try {localOutputStream.close();} catch (IOException e) {e.printStackTrace();}}}
}

网上打开与关闭gps几种方案测试,其中方案3可行相关推荐

  1. Android Bluetooth打开和关闭的三种方式(很详细)

    转载:http://www.ifeegoo.com/android-turn-on-and-turn-off-bluetooth.html 摘要:Android 中打开和关闭 Bluetooth 的代 ...

  2. Android中如何通过程序打开或关闭GPS

    手机应用中最酷的可能就是位置服务相关的了,如何读取GPS信息,在官方文档上有相当详细的说明,后面如果有机会,我也会专门写例子来介绍(教程已完成,请参见:教程:实现Android的不同精度的定位(基于网 ...

  3. 打开和关闭mysql服务的两种方法

    方法一:使用cmd命令 首先,打开我们的dos窗口,开始-运行-输入cmd. 如上图所示,输入net start mysql 回车即可启动,输入net stop mysql 回车即可关闭. 方法二:选 ...

  4. easyui关闭dialog后刷新父页面_两种方法WordPress批量打开、关闭文章评论功能

    WordPress没有一键打开和关闭已发表文章评论的功能.只是是否允许在新发表的文章发表评论,或者自动关闭发布多少天前的文章的评论功能.由于一些需要,我们需要关闭最初在网站上打开的WordPress文 ...

  5. 算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化。比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮。问设计一道算法,使得所有

    算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化.比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮.问设计一道算法,使得所有 ...

  6. 不使用JavaScript实现菜单的打开和关闭

    我在写有菜单栏的网页时,基本都会用响应式设计来适配移动端,例如把不重要的菜单选项隐藏,或者创建一个菜单按钮来控制的菜单的打开和关闭之类的.而我之前一直是使用JavaScript来实现菜单的打开和关闭的 ...

  7. 上传word文档显示服务器出错,打开office出错的几种解决方法

    打开office出错的几种解决方法 互联网   发布时间:2008-10-04 19:36:44   作者:佚名   我要评论 打开Office出错,比如无法打开Office文件.无法打开有密码保护的 ...

  8. GPS警用车辆3G视频监控系统方案

     GPS警用车辆3G视频监控系统方案 厦门蓝斯通信有限公司 2011-3-18   第一章 公司介绍... 3 第二章 系统概述... 5 2.1 系统设计目标... 5 2.1.1实时定位监控功能. ...

  9. RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR证书配置页面按钮无法正常打开和关闭的问题解析

    进入移动互联网时代以来,企业微信公众号已成为除官网以外非常重要的宣传渠道,当3.2亿直播用户与9亿微信用户的势能累加,在微信上开启直播已成为越来越多企业的必然选择. 安防视频流媒体服务器EasyNVR ...

  10. Android控制闪光灯的方法(打开与关闭)

    Android移动端操作系统 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称, ...

最新文章

  1. Acdream Xor 简单数学
  2. 悟透JavaScript (强烈推荐)
  3. 企业级应用框架(五)IOC容器在框架中的应用
  4. h5优秀控件_H5前端学习的js插件大全,基本包含了大部分的前端最前沿的js插件和库。...
  5. Unity3DAI:寻路(1):A星寻路,在Unity上用C#代码实现。
  6. 一生里和你爱的人做完这50件事
  7. 腾讯智慧金融白皮书:区块链将是未来数字经济基础设施
  8. 【BZOJ-1097】旅游景点atr SPFA + 状压DP
  9. Mysql DDL与DML
  10. SQL解析处理和扩展开发工具 Java
  11. 蓝屏代码查询器1.1.8
  12. 再分享一个零成本做文库代下载赚钱项目
  13. c语言必背数据结构_c语言必背代码有哪些?
  14. 排队论的计算机模拟,系统容量有限的一类排队论模型的计算机模拟研究
  15. PHP - Smarty模板引擎 - Download下载 - 2.6.22
  16. 串口传输bin文件-C - kermit工具、kermit协议
  17. Ubuntu安装flash插件
  18. HTML5 案例学习笔记
  19. 神经网络与深度学习期末考试满分过题库!
  20. ABOV A96R725 seting Music调谐器设置应用

热门文章

  1. BZOJ-4706 B君的多边形 OEIS
  2. 1 统计学习方法基础
  3. Photoshop中预设资源安装方式-笔刷、动作、渐变、形状、样式等
  4. 无法连接终端授权服务器,许可证已过期的客户端可能无法连接到终端服务器的解决方案...
  5. ojdbc6不能使用的解决办法
  6. JSAPI微信公众号apiV3文档支付
  7. Win10下Eclipse运行环境的安装及使用
  8. Linux 如何生成文件的MD5值(md5sum)?
  9. 数据血缘关系图 工具_MCGS组态软件实现数据报表
  10. 《Linux/UNIX系统编程手册》推荐