2012-01-30 4 views
2

Сбой в моем приложении для Android, все нормальные номера работают хорошо.Набор номера телефона с * символами

Я обнаружил, что яблоко явно запретить набор таких номера, опасаясь пересылками фокусов вызова, но я не могу найти документированную причину ДОР это сбой на Android SDK

вы можете указать мне на документ с причиной?

Thanks

ответ

1

Возможно, вы имеете в виду набор кода USSD. Если это так, то это долгая и интригующая история, поскольку она по-прежнему относится к запросам на функцию андроида (посмотрите на Feature Request: Add USSD API support).

Насколько я знаю, единственный обходной путь с использованием Uri.encode существует в качестве решения для этого:

startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(“tel:” + Uri.encode(strPhoneNumber)))); 

и вы также должны эти разрешения в файле манифеста:

android.permission.CALL_PHONE 
android.permission.CALL_PRIVILEGED 
android.permission.MODIFY_PHONE_STATE 
+0

I mea n a number like * 8373 –

+0

Каков твой код, который не работает? Вы все равно используете Uri.parse? – pmod

+0

Я использую geturl через appcelerator mobile –

1

я имел это проблема, и я думаю, что последний ответ верен, но я предлагаю вам использовать этот код для набора номера, подобного * 8373

String star = Uri.encode("*"); 
     String Hash = Uri.encode("#"); // if you want use # to add in your number! :) 
     Intent call = new Intent(Intent.ACTION_CALL); 
     Charge.setData(Uri.parse("tel:" + star +"8373")); 
     startActivity(Charge); 
Смежные вопросы