Как отправить номер для набора номера?

Я хочу отправить номера для набора номера. он работает для простых чисел, но когда я хочу использовать # для чисел, это не работает. например * 123 * 12 # .
вот что я сделал:

public PhoneIntents dialPhone(String phoneNumber)
{
    intent = new Intent();
    intent.setAction(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:" + phoneNumber));
    return this;
}

он автоматически удаляет # в конце числа. но я тоже хочу #.
удаление

intent.setData(Uri.parse("tel:" + phoneNumber));

работает на эмуляторе, но не работает на моем телефоне S7. он не вызывает приложение набора номера.

2
0
70
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете попробовать это. Это работает для меня

Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", phoneNumber, null));
mContext.startActivity(intent);

Сначала необходимо закодировать символ #:

public PhoneIntents dialPhone(String phoneNumber) {
    int sharpIndex = phoneNumber.indexOf('#');
    if (sharpIndex != -1) {
        phoneNumber = phoneNumber.replace("#", Uri.encode("#"));
    }

    intent = new Intent();
    intent.setAction(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:" + phoneNumber));
    return this;
}

Другие вопросы по теме