2015-04-17 2 views
0

Итак, я пытаюсь отправить номер через Intent.ACTION_DIAL, заканчивая # i.e например *123#. Но когда приложение Android Dialer запущено, есть только *123 (# отсутствует). Я использую следующий код для запуска приложения набора для Android.Intent.ACTION_DIAL с номером, заканчивающимся на #

Uri number = Uri.parse("tel:*124#"); 
Intent callIntent = new Intent(Intent.ACTION_DIAL, number); 
context.startActivity(callIntent); 

Ожидаемое спасибо !! .

ответ

1

Необходимо правильно закодировать хэш-тег (#). В ваших запросах URL-адреса это должно быть% 23, поэтому замена его на% 23 сделает трюк.

Uri number = Uri.parse("tel:*124%23"); 
Intent callIntent = new Intent(Intent.ACTION_DIAL, number); 
context.startActivity(callIntent); 

Вы также можете позволить URI сделать кодировку:

String encodedPhoneNumber = String.format("tel:%s", Uri.encode("*1234#")); 
Uri number = Uri.parse(encodedPhoneNumber); 
Intent callIntent = new Intent(Intent.ACTION_DIAL, number); 
context.startActivity(callIntent); 
+0

Спасибо за ваш ответ. Принял ответ @ anj0, поскольку он более реалистичен. – Khan

Смежные вопросы