Я строю экран для экстренных служб из определенных стран мира, и их номера обычно не состоят из 10 цифр,
пример: Australia = 13 11 14
и UK plus ROI = 116 123
Я бы хотел, чтобы пользователь нажимал на эти номера и попадал на панель набора независимо от их локали.
Это то, что я до сих пор:
fun openDialApp(phoneNumber: String) {
val dialIntent = Intent(Intent.ACTION_DIAL)
dialIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
dialIntent.data = Uri.parse("tel:" + Uri.encode(phoneNumber))
startActivity(context, dialIntent, Bundle.EMPTY)
}
Этот код выводит пользователя на панель набора, однако он вводит совершенно другой номер. После отладки немного больше похоже, что что-то меняет число с буквально строки на другое случайно сгенерированное число. Есть идеи, почему это так?
Та же проблема возникает, когда я пытаюсь отправить пользователя в его приложение SMS через American helpline number = 741741
. Код для этого ниже
fun openSmsApp(smsNumber: String) {
val smsIntent = Intent(Intent.ACTION_SENDTO)
smsIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
smsIntent.data = Uri.parse("smsto:" + Uri.encode(smsNumber))
startActivity(context, smsIntent, Bundle.EMPTY)
}