BLE蓝牙设备需要使用位置服务,否则搜索不到,如何判断系统的位置服务打开?
发布于 8 年前 作者 exia 9799 次浏览 来自 官方Issues

平台 Android 6以上的 蓝牙使用,需要系统的定位信息, 否则搜索不到BLE的设备。

位置服务已经授权。

但是如果系统的定位服务没打开,这时候搜索不到。

查了好久不知道怎么判断 系统的定位服务是否已经打开?


求指点!

3 回复

我原本的打算是 获取下位置信息,如果获取失败,又授权的话,认为是没打开。

但是实际调试的时候发现,即便 位置服务没打开,也能定位__,  返回的都是success。__。所以这种方式就失败了。

wx.getLocation({
   type: 'wgs84',
   success: function(res) {
     console.log(TAG, "获取位置成功", res)
   },
   fail: function(res) {
     console.log(TAG, "获取位置失败", res)
     wx.getSetting({ //2019年7月30日 bai: 如果获取位置失败,并且已经授权的话,可能是系统定位没打开
       success: function(res) {
         if (res.authSetting['scope.userLocation']) {
           wx.showModal({
             content: '请打开系统定位服务',
             showCancel: false,
             success: function(res) {},
           })
         }
       },
       fail: function(res) {},
       complete: function(res) {
 
       },
     })
 
   },
   complete: function(res) {},
 })
回到顶部