J2ME

2009-08-20 11 views
1

を使用してNokia IDSからセルIDを読み取るMIDletに署名していない限り、Nokia S40フォーラムで携帯端末IDおよび関連情報にアクセスすることは事実上不可能であり、これはS40 3rd Edition FP1以上。J2ME

私はJava MEを使用し、NokiaのS40のDevプラットフォーム2の携帯電話に次のことを試してみました:

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

値がnullだった返さしかし。

この問題を回避する方法はありますか?モデムATのような他の方法でセルIDを読み取ることはできますか(これはPCに接続された電話機でのみ動作します)、SIM Application Toolkitなどですか?

+0

解決策が見つかった場合、私はそれをどうやって行うことができますか? –

答えて

2

そして、それがS40 3rd Edition FP1(以上)で署名されていても - それはNokiaによって署名されなければなりません! (本当に)。他の回避策についてはわかりませんが、JSR-179も試してみましたが、これをやり遂げていません。

+0

フォーラムの周りには、WMA APIを使ってCBSを使ってCell-IDに関する情報を含む文字列を取得できることが記載されています。何か案は? –

+0

特定のネットワークでは、特定のCBSポートでリッスンして、セル情報を取得できます。例えば。ボーダフォンUKは現在のセルのSTDコードを1分ごとにポート50で送信します。しかし、これは3Gではなく2Gでのみ行われます。そして、他のネットワークはこれをしません。言い換えれば、信頼されるべきではありません! – funkybro

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を使用している可能性があります。デバイスの仕様にJSR 179があることを確認してください。