¿Cómo hacer una llamada telefónica programáticamente?

Estoy pasando a una actividad el número al que llamar por un paquete

y luego, en dicha actividad, tengo un botón para llamar a ese número, este es el código:

callButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(bundle.getString("mobilePhone"))); } }); 

Algo está mal, porque cuando presiono el botón no pasa nada …

¿Qué estoy haciendo mal?

PD: Estoy usando un proyecto compatible con Android 1.5 … ¿tal vez la llamada telefónica es incompatible con 1.5?

Olvidaste llamar a startActivity. Debe tener un aspecto como este:

 Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + bundle.getString("mobilePhone"))); context.startActivity(intent); 

Un bash en sí mismo es simplemente un objeto que describe algo. No hace nada.

No olvides agregar el permiso relevante a tu manifiesto:

  

Intenté esto en mi teléfono y funciona perfectamente.

 Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:900..." )); startActivity(intent); 

Agregue este permiso en el archivo de manifiesto.

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

para llamadas ordenadas múltiples

Esto se usa para los sistemas de llamadas DTMF. Si la llamada se cae, debe pasar más “,” entre los números.

En la respuesta seleccionada, no hay verificación de permiso de malvavisco. No funcionará directamente en marshmallow 6.0 o dispositivo superior.

Sé que soy demasiado tarde, pero esta pregunta tiene una gran votación, así que pensé que sería útil para otros en el futuro.

En los dispositivos de malvavisco necesitamos tener permiso de tiempo de ejecución para llamar …

Aquí hay un ejemplo para hacer una llamada en malvavisco o más.

Cómo hacer call in android marshmallow 6.0 o superior

Eche un vistazo allí: http://developer.android.com/guide/topics/intents/intents-filters.html

¿Tiene actualizar su archivo de manifiesto para otorgar derechos de llamada?

Aquí le mostraré cómo puede hacer una llamada telefónica desde su actividad. Para hacer una llamada, debes poner este código en tu aplicación.

 try { Intent my_callIntent = new Intent(Intent.ACTION_CALL); my_callIntent.setData(Uri.parse("tel:"+phn_no)); //here the word 'tel' is important for making a call... startActivity(my_callIntent); } catch (ActivityNotFoundException e) { Toast.makeText(getApplicationContext(), "Error in your phone call"+e.getMessage(), Toast.LENGTH_LONG).show(); } 
 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button button = (Button) findViewById(R.id.btn_call); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { String mobileNo = "123456789"; String uri = "tel:" + mobileNo.trim(); Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse(uri)); startActivity(intent); } });* }