2014-01-09 38 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