Android:是否可以在不将用户重定向到“ Google地图”应用中的设置屏幕的情况下启用GPS

阿尔卡多米

在基于GPS的应用程序中,用户启用其GPS很重要。如果不是这样,通常我们将显示一个对话框,指出用户“应从设置中启用他的GPS才能使用此功能”。

当用户按OK时,他将被重定向到“设置”页面,我不喜欢这种解决方案,因为它将用户带离应用程序上下文而进入设置。

我注意到“谷歌地图”应用程序有一个更好的解决方案,那就是在需要GPS功能时显示一个整洁的对话框。一旦用户选择“OK” GPS将被启用直接没有任何转向的设置。

是否可以在不将用户重定向到“ Google地图”应用中的设置屏幕的情况下启用GPS?

查看以下图片:

整洁的对话框

AlvaroSantisteban

要具有该功能,您需要:

  • 首先(至少)7.0版的播放服务

compile 'com.google.android.gms:play-services-location:16.0.0'

  • 其次在您的代码中是这样的(我在onCreate中拥有它):

--

 // Check the location settings of the user and create the callback to react to the different possibilities
LocationSettingsRequest.Builder locationSettingsRequestBuilder = new LocationSettingsRequest.Builder()
                .addLocationRequest(mLocationRequest);
PendingResult<LocationSettingsResult> result =
                LocationServices.SettingsApi.checkLocationSettings(mGoogleApiClient, locationSettingsRequestBuilder.build());
result.setResultCallback(mResultCallbackFromSettings);

然后创建回调:

// The callback for the management of the user settings regarding location
private ResultCallback<LocationSettingsResult> mResultCallbackFromSettings = new ResultCallback<LocationSettingsResult>() {
    @Override
    public void onResult(LocationSettingsResult result) {
        final Status status = result.getStatus();
        //final LocationSettingsStates locationSettingsStates = result.getLocationSettingsStates();
        switch (status.getStatusCode()) {
            case LocationSettingsStatusCodes.SUCCESS:
                // All location settings are satisfied. The client can initialize location
                // requests here.
                break;
            case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
                // Location settings are not satisfied. But could be fixed by showing the user
                // a dialog.
                try {
                    // Show the dialog by calling startResolutionForResult(),
                    // and check the result in onActivityResult().
                    status.startResolutionForResult(
                            MapActivity.this,
                            REQUEST_CHECK_SETTINGS);
                } catch (IntentSender.SendIntentException e) {
                    // Ignore the error.
                }
                break;
            case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
                Log.e(TAG, "Settings change unavailable. We have no way to fix the settings so we won't show the dialog.");
                break;
        }
    }
};

然后,最后,onActivityResult我有以下内容:

/**
 * Used to check the result of the check of the user location settings
 *
 * @param requestCode code of the request made
 * @param resultCode code of the result of that request
 * @param intent intent with further information
 */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    //final LocationSettingsStates states = LocationSettingsStates.fromIntent(intent);
    switch (requestCode) {
        case REQUEST_CHECK_SETTINGS:
            switch (resultCode) {
                case Activity.RESULT_OK:
                    // All required changes were successfully made
                    if (mGoogleApiClient.isConnected() && userMarker == null) {
                        startLocationUpdates();
                    }
                    break;
                case Activity.RESULT_CANCELED:
                    // The user was asked to change settings, but chose not to
                    break;
                default:
                    break;
            }
            break;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以使用vis将用户重定向到Java文件中的代码块?

来自分类Dev

在将用户定向到网页后,是否可以将用户重定向到Google Assistant操作中的同一会话

来自分类Dev

将用户重定向到Playstore中的“订阅”页面

来自分类Dev

是否可以重定向到 YouTube 应用?

来自分类Dev

如何在不通过web2py中的smartgrid的情况下将用户重定向到“视图”

来自分类Dev

如何将用户从FB canvas应用的feed中重定向到FB canvas应用

来自分类Dev

如何将用户从FB canvas应用的feed中重定向到FB canvas应用

来自分类Dev

如何将用户从浏览器重定向到iOS中的应用程序?

来自分类Dev

Swift:如何使用联系电话将用户重定向到“添加联系人”屏幕

来自分类Dev

如何基于按下的表单的提交按钮将用户重定向到不同的页面

来自分类Dev

使用vue.js按下提交后将用户重定向到其他页面

来自分类Dev

检查用户是否被重定向到symfony中?

来自分类Dev

检查商品是否已经在购物车中(如果是),然后将用户重定向到结帐处而不添加产品

来自分类Dev

使用Iron Router根据Meteor中的注册过程将用户重定向到其他路由

来自分类Dev

如何使用C#中的参数将用户重定向到Paypal

来自分类Dev

Django-根据下拉菜单中的选择将用户重定向到页面

来自分类Dev

将用户重定向到PHP中的同一页面问题

来自分类Dev

如何制作将用户重定向到Django中输入的地址的表单?

来自分类Dev

使用Iron Router根据Meteor中的注册过程将用户重定向到不同的路由

来自分类Dev

如何基于PHP中的get url将用户重定向到其他页面?

来自分类Dev

如何将用户重定向到MVC中的登录页面

来自分类Dev

我们如何将用户重定向到 Django 中的指定管理员?

来自分类Dev

如何将用户从 django rest 框架中的中间件重定向到登录页面?

来自分类Dev

是否可以将读取重定向到Linux中的文件?

来自分类Dev

是否可以从 iframe 中重定向到新的源?

来自分类Dev

如何将用户从FB canvas应用程序的feed中重定向到FB canvas应用程序

来自分类Dev

为什么我的python GAE create_login_url将用户重定向到Google设置个人信息页面

来自分类Dev

如何在您的android应用中发布更新通知,然后将用户定向到Google Playstore?

来自分类Dev

在Spring中,如何在保留用户会话的同时将用户重定向到其他域?

Related 相关文章

  1. 1

    是否可以使用vis将用户重定向到Java文件中的代码块?

  2. 2

    在将用户定向到网页后,是否可以将用户重定向到Google Assistant操作中的同一会话

  3. 3

    将用户重定向到Playstore中的“订阅”页面

  4. 4

    是否可以重定向到 YouTube 应用?

  5. 5

    如何在不通过web2py中的smartgrid的情况下将用户重定向到“视图”

  6. 6

    如何将用户从FB canvas应用的feed中重定向到FB canvas应用

  7. 7

    如何将用户从FB canvas应用的feed中重定向到FB canvas应用

  8. 8

    如何将用户从浏览器重定向到iOS中的应用程序?

  9. 9

    Swift:如何使用联系电话将用户重定向到“添加联系人”屏幕

  10. 10

    如何基于按下的表单的提交按钮将用户重定向到不同的页面

  11. 11

    使用vue.js按下提交后将用户重定向到其他页面

  12. 12

    检查用户是否被重定向到symfony中?

  13. 13

    检查商品是否已经在购物车中(如果是),然后将用户重定向到结帐处而不添加产品

  14. 14

    使用Iron Router根据Meteor中的注册过程将用户重定向到其他路由

  15. 15

    如何使用C#中的参数将用户重定向到Paypal

  16. 16

    Django-根据下拉菜单中的选择将用户重定向到页面

  17. 17

    将用户重定向到PHP中的同一页面问题

  18. 18

    如何制作将用户重定向到Django中输入的地址的表单?

  19. 19

    使用Iron Router根据Meteor中的注册过程将用户重定向到不同的路由

  20. 20

    如何基于PHP中的get url将用户重定向到其他页面?

  21. 21

    如何将用户重定向到MVC中的登录页面

  22. 22

    我们如何将用户重定向到 Django 中的指定管理员?

  23. 23

    如何将用户从 django rest 框架中的中间件重定向到登录页面?

  24. 24

    是否可以将读取重定向到Linux中的文件?

  25. 25

    是否可以从 iframe 中重定向到新的源?

  26. 26

    如何将用户从FB canvas应用程序的feed中重定向到FB canvas应用程序

  27. 27

    为什么我的python GAE create_login_url将用户重定向到Google设置个人信息页面

  28. 28

    如何在您的android应用中发布更新通知,然后将用户定向到Google Playstore?

  29. 29

    在Spring中,如何在保留用户会话的同时将用户重定向到其他域?

热门标签

归档