когда я использую намерение вызова автоматически удалить # из номера - PullRequest
0 голосов
/ 05 сентября 2018
String num= "*345*20#";
Intent callintent = new Intent(Intent.ACTION_DIAL);  
callintent.setData(Uri.parse("tel:"+num));   
startActivity(callintent);

В приведенном выше коде, когда я использую число с символом «#», «#» автоматически удаляется из номера. Как я могу это исправить?

пожалуйста, помогите мне. Спасибо.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Если у вас есть URI со специальными символами, такими как #, который является зарезервированным символом . Чтобы использовать эти символы в вашем URI, вы должны закодировать содержимое URI следующим образом:

String num= "*345*20#";
Intent callintent = new Intent(Intent.ACTION_DIAL);  
callintent.setData(Uri.parse("tel:"+Uri.encode(num)));   
startActivity(callintent);

Метод encode() будет кодировать URI в процентах. Смотрите здесь для получения дополнительной информации:

Кодировка процента

W3Schools Url Encoding

0 голосов
/ 05 сентября 2018

Попробуйте следующее:

String num= "*345*20#";
Intent callintent = new Intent(Intent.ACTION_DIAL);  
callintent.setData(Uri.parse("tel:"+ Uri.encode(num)));   
startActivity(callintent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...