2014-01-09 4 views
0

Я попробовал этот код здесь, но это просто вызывает во встроенном приложении вместо посылки вызова непосредственно:Как сделать вызов непосредственно программным

Intent i = new Intent(android.content.Intent.ACTION_DIAL, 
Uri.parse("tel:+" + phoneNumber)); 
startActivity(i); 

Любой ключ?

+0

Я не думаю, что вы можете сделать вызов без приложения родного вызова ... –

+0

@DaanOlislagers хмм ... это? И почему так? –

+1

Ну, вероятно, потому, что Android требует взаимодействия с пользователем перед тем, как позвонить. Таким образом, они перенаправляют все приложения, вызывающие вызовы, в приложение для родных вызовов. –

ответ

2

Вы можете сделать это просто. Он делает вызов напрямую.

Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "Your Phone_number")); 
startActivity(callIntent); 

и добавить это разрешение в AndroidManifest.xml

<uses-permission android:name="android.permission.CALL_PHONE" /> 
+0

Приложение бросает исключение при встряхивании. Logcat: android.content.ActivityNotFoundException: Нет активности для обработки Intent {act = android.intent.action.CALL dat = 03002261944} –

+0

@MuhammadMaqsoodurRehman Проверьте, что вы передали номер в том же формате, который я написал в ответ –

+1

@MuhammadMaqsoodurRehman: Примечательно, что '03002261944' недействительный' Uri'. – CommonsWare

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