【问题标题】:CoverageInfo.getCoverageStatus() vs CoverageInfo.isCoverageSufficient(), are they the same?CoverageInfo.getCoverageStatus() 与 CoverageInfo.isCoverageSufficient(),它们是一样的吗?
【发布时间】:2010-12-17 03:00:45
【问题描述】:

在尝试确定是否支持特定连接时,我对 CoverageInfo.getCoverageStatus()CoverageInfo.isCoverageSufficient() 之间的区别感到困惑。例如:

// check mds with getCoverageStatus() and bitwise check
boolean hasMdsCoverage1 = (CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_MDS) == CoverageInfo.COVERAGE_MDS;
// check mds with isCoverageSufficient()
boolean hasMdsCoverage2 = CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_MDS);

hasMdsCoverage1hasMdsCoverage2 似乎都返回相同的结果,但为什么会有两种不同的方法呢?是否有过它们会返回不同结果的情况?

理想情况下,我想使用 CoverageInfo.isCoverageSufficent(),因为这在代码中看起来更简洁,但在我这样做之前,我想确保我不会错过任何 getCoverageStatus() 会提供。

注意:我使用它来检查通过 BIS、MDS、WAP 和 WAP2 协议的有效连接。

【问题讨论】:

    标签: http blackberry connection connection-string httpconnection


    【解决方案1】:

    getCoverageStatus() 返回COVERAGE_的位掩码 flags*,如果设备在某些可用路由上具有coverageType 指定的覆盖类型,则isCoverageSufficient() 返回布尔值true;否则为假。以您的方式编码时没有区别,但是在 hasMdsCoverage1 中,您有额外的处理使它们等效。 isCoverageSfficient 在这种情况下可能更方便,getCoverageStatus 在其他情况下可能更方便。如果前者调用后者,我不会感到惊讶。许多不同的支持库中有很多这样的示例。

    【讨论】:

      猜你喜欢
      • 2011-03-15
      • 2021-02-16
      • 2011-08-07
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 1970-01-01
      • 2012-10-30
      相关资源
      最近更新 更多