uniapp 检测安卓是否开启GPS?

    var context = plus.android.importClass( 'android.content.Context' );

    var locationManager = plus.android.importClass( 'android.location.LocationManager' );

    var main = plus.android.runtimeMainActivity();

    var mainSvr = main.getSystemService( context.LOCATION_SERVICE );

    if ( !mainSvr.isProviderEnabled( locationManager.GPS_PROVIDER ) )

毫不意外,你一搜索uniapp检测安卓是否开启GPS都是以上代码。但是(敲重点)

我目前测试了PDA(安卓9.0版本)以上代码检测永远是已开启。传音手机(安卓10版本)以上代码检测永远是未开启,如果你用了下面的代码打开设置页面,会导致信息位置授权弹窗不会弹出。

          if ( !mainSvr.isProviderEnabled( locationManager.GPS_PROVIDER ) ) {
            var Intent = plus.android.importClass( 'android.content.Intent' );
            var Settings = plus.android.importClass( 'android.provider.Settings' );
            var intent = new Intent( Settings.ACTION_LOCATION_SOURCE_SETTINGS );
            main.startActivity( intent ); // 打开系统设置GPS服务页面
          }

只是避坑指南,大家看看就好。

你可能感兴趣的:(javascript,html,uni-app)