2013-11-28 5 views
0

У меня есть проблема. Я конвертирую строку в Uri, но она не передает все.Преобразование строки в строку Uri

String num = "*#123#"; 
Intent call = new Intent(Intent.ACTION_DIAL); 
call.setData(Uri.parse("tel:" + num)); 
startActivity(call); 

После синтаксического анализа я получаю «*» вместо «* # 123 #».

ответ

1

# не является общеизвестным в Uri, но вы можете заменить диез это URI представление %23:

String num = "*%23123%23"; 

Или, вы можете сделать (лучше, но немного сложнее):

String num = "*".concat(Uri.encode("#")).concat("123").concat(Uri.encode("#")) 
+0

Спасибо чувак! Можете ли вы рассказать мне, где я могу узнать больше об этом? –

+0

Вы можете прочитать ссылку на кодировку URL из W3School: http://www.w3schools.com/tags/ref_urlencode.asp – gahfy

+0

Приятно! Спасибо, ты был очень полезен! –

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