私は長い間立ち往生していて、それを解決することはできません. 助けてください... Android デバイスからプログラムで SMS を送信しようとしています。多くのデバイスからは正常に送信できますが、Android API レベル >=22 の一部の Samsung デュアル SIM デバイスからは送信できません。API レベル >=22 の場合、次のようにコーディングしました。
public static final String SMS_SENT_ACTION = "package.name.app.SMS_SENT_ACTION";
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
unregisterReceiver(this);
String message = null;
switch (getResultCode()) {
case Activity.RESULT_OK:
message = "Message Sent Successfully !";
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
message = "Error.";
sendDefaultMessage(default_number, default_send_number, text);
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
message = "Error: No service.";
sendDefaultMessage(default_number, default_send_number, text);
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
message = "Error: Null PDU.";
sendDefaultMessage(default_number, default_send_number, text);
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
message = "Error: Radio off.";
sendDefaultMessage(default_number, default_send_number, text);
break;
}
Toast.makeText(GetAppointment.this, message, Toast.LENGTH_LONG).show();
}
}, new IntentFilter(SMS_SENT_ACTION));
SmsManager.getSmsManagerForSubscriptionId(subscription_id).sendTextMessage(send_number, null, messageToSend, PendingIntent.getBroadcast(
this, 0, new Intent(SMS_SENT_ACTION), 0), null);
SMS は asus デュアル SIM デバイスおよび API レベル >=22 の sony シングル SIM デバイスから送信できるため、権限に関連する問題はありません。
すべてのデバイスで機能させるにはどうすればよいですか? 私はひどく助けが必要です。