moviles - java me
Detectar dispositivo móvil en interiores(J2ME) (2)
No hay una manera fácil de detectar si alguien está ''adentro''.
Podría usar gps para detectar cuando alguien está en el interior por pérdida de señal, pero aún no tendrá forma de saber si simplemente no tienen señal o si están realmente en puertas.
La triangulación de teléfonos celulares es bastante inútil en esta situación, ya que simplemente no es lo suficientemente precisa. Al mirar los mapas de Google de mi teléfono, ni siquiera puedo decir la calle en la que estoy, solo una idea aproximada de dónde estoy a 500 metros.
Si el edificio tiene puntos de acceso Wifi en todas partes, entonces probablemente sea la mejor forma de detectar cuando alguien está en el interior. Los puntos de acceso Wifi funcionarían si se cumpliera una base de datos de cada punto de acceso inalámbrico en un edificio dado .....
Eche un vistazo a http://www.skyhookwireless.com/ para más información!
Estoy intentando desarrollar una aplicación móvil usando J2ME para detectar el dispositivo en interiores. Como el GPS es imposible de detectar el dispositivo móvil en interiores. Así que estoy buscando utilizar la base de ubicación con la identificación de la celda. ¿Alguien puede darme alguna orientación sobre el enfoque de esto?
opencellid.org proporciona una fuente gratuita para detectar el móvil utilizando la identificación de la célula. Basándose en su API, requiere la entrada de IMSI. Pero no puedo recuperar el IMSI ya que requiere los permisos de dominio del fabricante / operador para hacerlo.
Por cierto, soy de Singapur, usando Starhub como proveedor de servicios y probando mi programa en N97 mini. No utilizarlo ayuda nada de esta información.
¿Otra forma de evitarlo, al lado de la idea de usar el id de la celda? Cualquier ayuda será apreciada...
código tomado de developer.nokia.com
public String getIMSI() {
String out = "";
try {
out = System.getProperty("IMSI");
if (out == null || out.equals("null") || out.equals("")) {
out = System.getProperty("phone.imsi");
}
if (out == null || out.equals("null") || out.equals("")) {
out = System.getProperty("com.nokia.mid.mobinfo.IMSI");
}
if (out == null || out.equals("null") || out.equals("")) {
out = System.getProperty("com.nokia.mid.imsi");
}
if (out == null || out.equals("null") || out.equals("")) {
out = System.getProperty("IMSI");
}
if (out == null || out.equals("null") || out.equals("")) {
out = System.getProperty("imsi");
}
} catch (Exception e) {
return out == null ? "" : out;
}
return out == null ? "" : out;
}
pero eso requiere una asignación por lo que tendrá que firmar con un certificado de nokia afaik. y establezca MiDLET-Permiso para com.nokia.mid.mobinfo.IMSI
es posible que desee probar
String mcc = System.getProperty("com.nokia.mid.countrycode");
String mns = System.getProperty("com.nokia.mid.networkid");
En cambio iirc esos son más fáciles de leer