android - tiene - que es dual sim en un celular
¿Administrador de SMS para teléfonos Dual Sim? (2)
Estoy trabajando con SMS Manager para enviar sms en Android. El código que estoy usando es el siguiente:
private void sendSms(String Phnno, String Message) {
if (Utils.checkSIM(MyActivity.this)) {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(Phnno, null, Message, null, null);
Utils.showMessage(MyActivity.this,"","Thank You for your interest,please check your inbox for the results.");
} else {
showErrorMessage(MyActivity.this, "SIM Error!",
"Please insert SIM");
}
}
Este código funciona perfectamente para mí en teléfonos SIM únicos, pero cuando lo compruebo en teléfonos SIM dobles, recibo la siguiente advertencia y los SMS nunca se envían.
01-11 15:56:13.664: W/sendTextMessage(6656): use single sim interface to sendTextMessage by double sim interface
Por favor, sugiéreme cómo puedo lograrlo en mi teléfono dual sim. Gracias de antemano.
Esto funcionará para ambos escenarios. Si ya se ha seleccionado al usuario, el simulador predeterminado lo tomará automáticamente y pasará al siguiente proceso. De lo contrario, al hacer clic en el botón enviar, se le solicitará la confirmación para elegir cualquier simulador para enviar el sms. Hemos probado su funcionamiento bien.
Código fuente de muestra:
try
{
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body","Body");
sendIntent.putExtra("address", "PhoneNumber");
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(),"SMS faild, please try again later!",Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
sendTextMessage()
tiene el parámetro scAddress
. Esto se utiliza para definir la dirección del centro de SMS. Creo que si lo configuras correctamente, podrás enviar un mensaje.
Puede encontrar el número siguiendo este tutorial: http://algorithmic-indian.blogspot.hu/2011/03/how-to-change-message-center-number-in.html También puede probar esto para obtener ¿El número de smsc de un teléfono en Android? Aparentemente, no parece haber una forma de obtener el número mediante programación.