Java getBestProvider是否可以返回null?
在以下代码段中:Java getBestProvider是否可以返回null?,java,android,Java,Android,在以下代码段中: Criteria criteria = new Criteria(); Criteria.setAccuracy(Criteria.ACCURACY_COARSE); criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.N
Criteria criteria = new Criteria();
Criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.NO_REQUIREMENT);
String provider = DP.lm.getBestProvider(criteria, true);
我一直试图将标准尽可能宽泛,以便让任何GPS定位提供商都可以使用。我需要在没有可用的情况下检测该案例
如何处理呢?在这种情况下,getBestProvider调用是否会返回null 报告说:
返回最符合给定条件的提供程序的名称。
仅允许呼叫方访问的提供程序
活动将被返回。如果有多个提供商符合标准,则
返回一个具有最佳精度的。如果没有供应商满足
标准,标准按以下顺序松开:
功率要求、精度、方位、速度、高度
请注意,该要求
在这一过程中,并没有消除货币成本的影响
因此,您仍然可能找不到满足所有需求的提供商。在这种情况下,返回null。这不在文档中,但我可以根据我的个人经验对其进行验证
为了避免这种情况,如果getBestProvider方法返回null,则可以直接寻址提供程序。所以你有一个备份。上面说:
返回最符合给定条件的提供程序的名称。
仅允许呼叫方访问的提供程序
活动将被返回。如果有多个提供商符合标准,则
返回一个具有最佳精度的。如果没有供应商满足
标准,标准按以下顺序松开:
功率要求、精度、方位、速度、高度
请注意,该要求
在这一过程中,并没有消除货币成本的影响
因此,您仍然可能找不到满足所有需求的提供商。在这种情况下,返回null。这不在文档中,但我可以根据我的个人经验对其进行验证
为了避免这种情况,如果getBestProvider方法返回null,则可以直接寻址提供程序。因此,您有一个备份。有没有办法检测该特定位置(如GPS位置)是否被禁用(通过设置>位置和安全)?有没有办法检测该特定位置(如GPS位置)是否被禁用(通过设置>位置和安全)?