2011-06-23 54 views
2

我有一個BlackBerry應用程序,通過訪問各種網絡資源來執行各種任務。我對應用程序有一項新要求,即其中一項任務必須通過Bis-B連接到Internet,如果設備無法執行Bis-B,應用程序不應允許用戶執行任務第一名。如何確定BlackBerry設備是否具有Bis-B訪問權限?

通過雙-B連接的方法是把這段您試圖訪問的網址:

;deviceside=false;ConnectionType=mds-public 

對於那些對雙-B這個網址後綴工程和連接是通過製造設備二-B。

我遇到的問題是不在Bis-B上的設備。我曾假設如果我將上述內容附加到URL然後嘗試連接,嘗試將失敗(然後我可以將其捕獲並使用它來確定設備不在Bis-B上)。不幸的是,實際發生的情況是,第一次或第二次嘗試成功,但第二次或第三次嘗試失敗,並顯示「無法檢測到網絡,請稍後再試。」發生這種情況後,全部後續網絡請求都會失敗並顯示相同的消息,即使不使用的呼叫也使用Bis-B URL後綴。 10-15分鐘後,似乎有些事情會清理完畢,然後所有非Bis-B網絡請求再次開始工作。

所以我很困惑,我正在尋找一些方法來可靠地檢測設備是否在Bis-B上。我知道這些設備本身可以告訴,因爲如果設備在Bis-B上,則BB屏幕右上角的wifi圖標爲亮白色,如果設備不在,則顯示爲灰色。

+1

您支持哪些操作系統版本? –

+0

@Scott:4.6和更新。 – MusiGenesis

回答

2

我正在尋找一些方法來可靠地檢測設備是否在Bis-B上。我知道這些設備本身可以告訴,因爲如果設備在Bis-B上,則BB屏幕右上角的wifi圖標爲亮白色,如果設備不在,則顯示爲灰色。

我發現黑莓點表明您是否在BIS上。如果BIS通過蜂窩網絡進行路由,它們將出現在3g /邊緣指示符旁邊,或者如果BIS通過wifi進行路由,它們將出現在wifi指示符旁邊。

我正在尋找一些方法來可靠地檢測設備是否在Bis-B上。

CoverageInfo .getCoverageStatus()返回一個位域,其中一個位是CoverageInfo.COVERAGE_BIS_B。我的理解是,這一點對應於出現在主屏幕的連接狀態區域中的黑莓點。

+0

我認爲BB點只是在較新的操作系統版本中 - 我在5.0之前的非觸摸設備中根本看不到它們。原來我的代碼庫(我繼承了它)已經使用CoverageInfo來確定Bis-B是否可用。 – MusiGenesis

相關問題