如何在将用户导入设置页面后知道用户是否确实打开了GPS /网络?

时间:2013-03-05 21:40:46

标签: android gps settings provider

我正在构建一个需要GPS或网络操作的定位应用程序。我希望能够将用户引导至GPS或无线设置,以强制他们在没有打开时将其打开。我的问题是,如何检查他们是否确实在设置页面后启用了提供程序?

以下是将用户引导至设置的常用代码。那之后我会怎么做?

LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
    boolean enabled = service
            .isProviderEnabled(LocationManager.GPS_PROVIDER);
    if (!enabled) {
        Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
        startActivity(intent);
    } 

2 个答案:

答案 0 :(得分:4)

  

之后我会做什么?

没有

您可能(希望?)检查您是否可以在活动的onResume()中使用GPS。当控件从“设置”活动返回到您的活动时,将再次调用该逻辑。因此,你将再次经历相同的逻辑。

答案 1 :(得分:0)

使用startActivityForResult而不是startActivity。然后在onActivityResult中再次检查isProviderEnabled。这应该有效,除非idProviderEnabled在你有GPS同步之前不会返回true,我不认为是这种情况。同样的事情应该适用于wifi。