2009-09-18 252 views
0

我需要在BlackBerry應用程序中以某種方式訪問​​APN設置。我的應用程序在JDE 4.2.1上運行。任何幫助?如何檢測可用的APN設置?

+0

我發現類似的帖子在論壇黑莓 http://www.blackberryforums.com/developer-forum/150528-how-get-list-apns.html – nixau 2009-09-18 14:36:02

+0

我還發現一個發佈一些關於一些未公開的Connector.open參數。可能會很有趣http://www.blackberryforums.com/developer-forum/113137-undocumented-connector-open-parameters.html – nixau 2009-09-18 14:49:37

回答

4

有一類叫ServiceRecord,可以爲你照顧這個。這是一個簡短的片段。

ServiceRecord record = ServiceBook.getSB().getRecordByUidAndCid(uid, cid); 
String apn = record.getAPN(); 

uidcid取決於你試圖使用(即WAP,WiFi或其他什麼東西)什麼樣的服務。您可以使用以下方法檢索所有ServiceRecord對象的完整列表。

ServiceRecord[] records = ServiceBook.getSB().getRecords(); 
String uid = records[0].getUid(); 
String cid = records[0].getCid(); 

您可以使用此代碼來找出你需要的記錄以及它相應的uidcid是。

請注意,如果您擁有已簽名的應用程序,則只能訪問這些類別之一。這裏是用於ServiceRecord的javadocs的鏈接。

ServiceRecord JavaDocs

+0

好的,那麼apn的用戶名和密碼怎麼樣? – nixau 2009-09-18 12:28:52

+0

我假設你的意思是用戶ID和內容ID?這取決於您嘗試使用哪種服務。我在這個問題正文中提供了一些信息。 – Fostah 2009-09-18 13:15:02

+0

看,這裏是事情。我需要訪問tcp APN信息才能在Connector.open(String url)中打開http連接時應用它。文檔指出可以添加到url的特殊追蹤參數 - 「apn = ; tunnelauthusername = ; tunnelauthpassword = 」; 我的程序嘗試建立基本連接,而不應用apn設置。如果發生故障,應該檢查可用的APN設置並嘗試以適當的方式使用它們。由於有些時候apn需要註冊,所以我需要設置密碼和用戶名。 – nixau 2009-09-18 13:27:42