2009-08-20 67 views
1

圍繞諾基亞論壇閱讀來自諾基亞S40讀小區ID,似乎訪問諾基亞S40系列手機的小區ID和相關信息幾乎是不可能的,除非你的MIDlet簽字,甚至這隻會工作爲S40第三版FP1及以上。使用J2ME

我嘗試了諾基亞S40平臺開發手機2在下面,用Java ME

System.getProperty("com.nokia.mid.cellid"); 

但是返回值是零。

有任何解決方法這一點,可以將小區ID用其他方法來讀,比如調制解調器AT(我想這將只連接到PC電話工作),SIM Application Toolkit還是其他?

+0

我有同樣的問題,如果你已經找到了解決方案,您可以請提供線索,我們該怎麼辦呢? – 2012-07-11 09:48:40

回答

2

即使它是S40第三版FP1(或以上)並簽名 - 它必須由諾基亞簽署! (真)。我不知道其他解決方法,但我也嘗試過JSR-179,但未能做到這一點。

+0

圍繞論壇他們提到,通過WMA API,您可以使用CBS獲取包含Cell-ID信息的字符串。有任何想法嗎? – 2009-08-20 15:26:56

+0

在某些網絡上,您可以偵聽某些CBS端口以獲取單元信息。例如。沃達豐英國公司每分鐘都會在端口50上發送當前小區的STD碼。但是,這隻能在2G上完成,而不是3G。其他網絡不這樣做。換句話說,不要依賴! – funkybro 2012-07-11 09:49:58

0

我正在使用SDK中的LocationProvider類。 這裏是我的功能:

public LocationProvider getCellIdLocationProvider() { 
    try { 
     int[] methods = {Location.MTA_ASSISTED | Location.MTE_CELLID 
      | Location.MTE_SHORTRANGE | Location.MTY_NETWORKBASED}; 
     return LocationUtil.getLocationProvider(methods, null); 
    } catch (LocationException e) { 
     System.err.println("Failed to get cell id location provider."); 
     return null; 
    } 
} 

它可能是你使用GPS以及(如果設備有它)通過改變其他選項的方法。只要確保在設備規格有179 JSR