getBestProvider方法在没有gps的平板电脑中返回gps

时间:2013-09-26 20:35:31

标签: android gps tablet locationmanager

我有一个小应用程序,我使用谷歌地图API为Android。我有一种方法来获得位置管理器的最佳提供者:

public String getBestProvider(){
    String result = LocationManager.NETWORK_PROVIDER;;

    try {

        String value = LocationManager.NETWORK_PROVIDER;

        List<String> proveedores = locationManager.getAllProviders();           


        //Try to set the position with the gps
        if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
            value = LocationManager.GPS_PROVIDER;
        }
        else{
             Criteria criteria = new Criteria();
             value = locationManager.getBestProvider(criteria, true);                
        }
        Toast.makeText(this, value, 1000);

        result = value;

    } catch (Exception e) {
        e.printStackTrace();
    }

    return result;
}

我已经这样做,强制我的手机启用“GPS_PROVIDER”作为最佳提供商(我的手机是三星Galaxy S2,Android 4.1.2)。这是因为使用命令“locationManager.getBestProvider(criteria,true);”当它处于活动状态时,没有将gps作为最佳提供者返回。

嗯,通过这种方式在我的手机上工作正常。但我有一台平板电脑(Xtreme X81,Android 4.2.2,没有gps),我安装了我的应用程序。我在平板电脑上测试了它并没有用。我无法调试应用程序,因为我没有平板电脑的驱动程序,但插入带有Toast的消息我已经看到这种方法让我“GPS_PROVIDER”作为最佳提供商。为什么要回来?有没有最简单的方法来改进代码以获得任何设备的最佳提供商?

提前致谢, 问候。

0 个答案:

没有答案