我有一个BlackBerry应用程序,可以通过访问各种网络资源来执行各种任务。我对应用程序有一个新要求,其中一个任务必须通过Bis-B连接到Internet,如果设备无法执行Bis-B,则应用程序不应允许用户执行任务第一名。
通过Bis-B连接的方法是将其附加到您尝试访问的URL:
;deviceside=false;ConnectionType=mds-public
对于Bis-B上的设备,此URL后缀有效,连接通过Bis-B进行。
我遇到的问题是使用不在Bis-B上的设备。我曾假设,如果我将上述内容添加到URL然后尝试连接,则尝试将失败(然后我可以捕获它并使用它来确定设备不在Bis-B上)。不幸的是,实际发生的是前一次或两次尝试成功,但第二次或第三次尝试失败,并且“无法检测到网络。请稍后再试”。发生这种情况后,所有后续网络请求都会失败并显示相同的消息,即使是不使用Bis-B URL后缀的调用也是如此。 10-15分钟后,似乎有些东西被清除,然后所有非Bis-B网络请求再次开始工作。
所以我很自然地感到困惑,我正在寻找一些方法来可靠地检测设备是否在Bis-B上。我知道设备本身可以分辨,因为如果设备在Bis-B上,BB屏幕右上角的wifi图标是亮白色,而当它不是时,BB屏幕右上角是wifi。
答案 0 :(得分:2)
我正在寻找一些方法来可靠地检测设备是否在Bis-B上。我知道设备本身可以分辨,因为如果设备在Bis-B上,BB屏幕右上角的wifi图标是亮白色,而当它不是时,BB屏幕右上角是wifi。
我发现黑莓点表明你是否在BIS上。如果BIS通过蜂窝网络路由,它们将出现在3g /边缘指示符旁边,如果BIS通过wifi路由,它们将出现在wifi指示符旁边。
我正在寻找一些方法来可靠地检测设备是否在Bis-B上。
CoverageInfo。getCoverageStatus()返回一个位域,其中一个位是CoverageInfo.COVERAGE_BIS_B。我的理解是这个位对应于出现在主屏幕的连接状态区域中的黑莓点。