tiene - Tarjeta SIM Dual Android
que es dual sim en un celular (4)
¿Alguien ha tenido experiencia con la programación de la selección de la tarjeta SIM, cuando el teléfono usa un adaptador dual SIM?
Gracias, STeN
Agregado más tarde: He encontrado la aplicación MultiSim en Android Market, que en su descripción MultiSim que " ... los usuarios analógicos de doble sim-adaptador pueden cambiar sus tarjetas SIM ... ", así que hay alguna API en Android SDK, que permite cambiar / seleccionar la tarjeta SIM?
Como nadie lo mencionó aún, Android finalmente ha agregado compatibilidad oficial multisim en Android 5.1.
Pero a menos que su aplicación solo esté orientada a esa API (que actualmente es menos del 0.5% del mercado) usted está solo con las soluciones más oscuras mencionadas en las otras respuestas.
La plataforma actual de Android no tiene soporte para múltiples SIM. Un dispositivo con dicho soporte se ha personalizado para eso, por lo que deberá obtener información del fabricante del dispositivo para cualquier instalación con la que tenga que interactuar.
Por favor, consulte este artículo de Dual Sim Android . Si sigues esta dirección, creo que puedes hacerlo, incluso si la API actual de Android no es compatible con dispositivos móviles con doble tarjeta SIM.
Para SMS:
Asumiendo que está desarrollando la aplicación para su propio teléfono, y está dispuesto a sim_id
la molestia de encontrar los ID ( sim_id
) asignados a cada una de sus tarjetas SIM (probablemente mediante la comprobación de las salidas de registro del teléfono, buscando sim_id
, que fue lo que hice), puede usar el siguiente código para configurar la SIM predeterminada para el envío de SMS:
int simId = <place desired SIM ID here>;
Intent simIntent = new Intent("android.intent.action.SMS_DEFAULT_SIM");
simIntent.putExtra("simid", simId);
sendBroadcast(simIntent);
Combinado con algunas otras cosas de la interfaz de usuario de UI (para realmente ''escoger'' la SIM preferida), esto debería funcionar.
No estoy del todo seguro de si este enfoque funcionaría para usted (aunque el código parece ser independiente del fabricante); Lo descubrí con prueba y error en mi Mlais MX28 (con una ROM personalizada). Pero aún así vale la pena intentarlo, supongo. :)
ACTUALIZACIÓN: Extrañamente, la solución dejó de funcionar inesperadamente después de algunas actualizaciones de la aplicación en la que estaba trabajando. Pero me encontré con otra forma (que parece ser más prometedora). (Creo que esto también se puede ampliar para otros escenarios de selección de SIM, ya que la memoria caché de configuración contiene entradas con el name
s gprs_connection_sim_setting
, voice_call_sim_setting
, video_call_sim_setting
y similares).
ContentValues val = new ContentValues();
val.put("value", "here goes the preferred SIM ID");
getContentResolver().update(Uri.parse("content://settings/system"), val, "name=''sms_sim_setting''", null);
(Desafortunadamente, esto requiere el permiso android.permission.WRITE_SETTINGS
).