2009-08-20 16 views
1

En lisant les forums Nokia, il semble que l'accès à l'ID de cellule et aux informations associées à partir des téléphones Nokia S40 est pratiquement impossible, sauf si votre MIDlet est signé, et que cela ne fonctionnerait que pour S40 3rd Edition FP1 et ci-dessus.Lecture de l'ID de cellule du Nokia S40 à l'aide de J2ME

J'ai essayé le suivant sur un téléphone Nokia Dev Platform 2 S40, en utilisant Java ME:

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

Cependant, la valeur renvoyée est nulle.

Y at-il une solution de contournement à cela, l'ID de cellule peut-elle être lue par d'autres méthodes, comme Modem AT (je suppose que cela fonctionnera uniquement avec un téléphone connecté au PC), SIM Application Toolkit ou autre?

+0

J'ai le même problème si vous avez trouvé la solution pouvez-vous s'il vous plaît fournir un indice comment pouvons-nous faire cela? –

Répondre

2

Et même si c'est S40 3rd Edition FP1 (ou plus) et signé - il doit être signé par Nokia! (vraiment). Je ne connais pas d'autres solutions de contournement, mais j'ai également essayé JSR-179 et échoué à faire cela. J'utilise la classe LocationProvider à partir du SDK.

+0

Autour des forums, ils ont mentionné que grâce à l'API WMA, vous pouvez utiliser CBS pour obtenir une chaîne contenant des informations sur l'ID de cellule. Des idées? –

+0

Sur certains réseaux, vous pouvez écouter sur certains ports CBS pour obtenir des informations sur les cellules. Par exemple. vodafone UK transmet le code STD de la cellule actuelle sur le port 50 toutes les minutes. Cependant, ceci est seulement fait sur 2G, pas sur 3G. Et d'autres réseaux ne le font pas. En d'autres termes, ne pas être invoqué! – funkybro

0

Voilà ma fonction:

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; 
    } 
} 

il est possible que vous utilisez GPS ainsi (si l'appareil l'a) en changeant les méthodes avec d'autres options. Assurez-vous que dans les spécifications de l'appareil, il a JSR 179.