studio putextra phone permission intent getintextra example action_call android android-intent

putextra - permission call phone android



Android Intent.ACTION_CALL, Uri (8)

Estoy tratando de usar la clase Intent.Action. Sé cómo usar ACTION_VIEW para mostrar una URL, pero quería usar Intent.ACTION_DIAL para llamar al número cuando se lanza la aplicación. La documentación dice que necesita analizar un URI en una cadena y luego agregarlo a la intención He intentado esto:

Uri call = Uri.parse("7777777777"); Intent surf = new Intent(Intent.ACTION_DIAL, call); startActivity(surf);

Esto no funciona Recibo un mensaje de error que dice:

Desafortunadamente, Project se detuvo. Traté de depurar el código y parece apuntarme a la línea de intención, no estoy seguro de lo que estoy haciendo mal si solo hago esto, funciona y aparece el marcador.

//Uri call = Uri.parse("7777777777"); Intent surf = new Intent(Intent.ACTION_DIAL); startActivity(surf);


teléfono

String number = "23454568678"; Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" +number)); startActivity(intent);

Use permiso

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


prueba esto

String no = "536171839"; Intent callintent = new Intent(android.intent.action.CALL); callintent.setData(Uri.parse("tel:" +no)); startActivity(callintent);

agregue esto a su archivo AndroidManifest.xml

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


Para abrir la aplicación del marcador (el usuario tiene que presionar el botón de llamada dentro de la aplicación del marcador, no se necesitan permisos adicionales) use:

String number = "7777777777"; Uri call = Uri.parse("tel:" + number); Intent surf = new Intent(Intent.ACTION_DIAL, call); startActivity(surf);

Para abrir la aplicación del marcador y hacer la llamada automáticamente (necesita android.permission.CALL_PHONE) use:

String number = "7777777777"; Uri call = Uri.parse("tel:" + number); Intent surf = new Intent(Intent.ACTION_CALL, call); startActivity(surf);


prueba esto

String url="tel:777777777" if (url.startsWith("tel:")) { Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url)); startActivity(intent); }

agregue esto a su archivo AndroidManifest.xml

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


Prueba esto también

Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phno); startActivity(intent);

Manifiesto de Android

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


Prueba esto :

String toCall = "tel:" + number.getText().toString(); startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(toCall)));


Si has agregado

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

Verifique el permiso de llamada en su aplicación.


Otro enfoque es hacer que un PendingIntent se llame más tarde. Esto es especialmente útil cuando desea redirigir al usuario directamente a una llamada de una acción de notificación.

String number = "551191111113"; Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" +number)); PendingIntent pendingIntentForCall = PendingIntent.getActivity(mContext, 0 /* Request code */, intent,PendingIntent.FLAG_ONE_SHOT);

Puede usarlo en la notificación de la siguiente manera:

Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(mContext) .setContentTitle(title) .setContentText(message) .setStyle(new NotificationCompat.BigTextStyle().bigText(message)) .setTicker(tickerText) .setColor(Color.BLACK) .setLargeIcon(BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.ic_directions_bus_white_48dp)) .setSmallIcon(R.mipmap.ic_directions_bus_white_24dp) .setAutoCancel(true) .setSound(defaultSoundUri) .addAction(new NotificationCompat.Action(R.mipmap.ic_directions_bus_white_24dp,"Call to " + number,pendingIntentForCall));