Android: envía un mensaje de telegrama a un número específico

Estoy intentando enviar un mensaje Telegram a un número específico desde mi aplicación Android. Ahora mi código lanza Telegram app, y luego el usuario tiene que seleccionar el destinatary. Lo que quiero hacer es enviar el mensaje al número especificado, sin que el usuario seleccione el contacto. Mi código es el siguiente:

/** * Intent to send a telegram message * @param msg */ void intentMessageTelegram(String msg) { final String appName = "org.telegram.messenger"; final boolean isAppInstalled = isAppAvailable(mUIActivity.getApplicationContext(), appName); if (isAppInstalled) { Intent myIntent = new Intent(Intent.ACTION_SEND); myIntent.setType("text/plain"); myIntent.setPackage(appName); myIntent.putExtra(Intent.EXTRA_TEXT, msg);// mUIActivity.startActivity(Intent.createChooser(myIntent, "Share with")); } else { Toast.makeText(mUIActivity, "Telegram not Installed", Toast.LENGTH_SHORT).show(); } } 

Telegram Android App no ​​tiene una forma de enviar mensajes directamente a los usuarios de telegrama, así que si utiliza la intención de compartir, obtendrá lo que el telegrama / cualquier otra aplicación quiere hacer con el mensaje compartido. En este caso, abra la lista de contactos para enviarle este mensaje.

Si desea enviar mensajes directamente a los usuarios de Telegram, debe usar la API de Telegram https://core.telegram.org/api#getting-started

Una vez que haya configurado su clave de API en su aplicación, podría enviar mensajes, leerlos o incluso obtener los contactos del telegrama con estos métodos

https://core.telegram.org/methods

Este trabajó para mí:

// comprueba si la aplicación se instala primero antes de ejecutar este código.

  Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("http://telegram.me/+UT_USER_ID_HERE")); final String appName = "org.telegram.messenger"; i.setPackage(appName); this.startActivity(i); 
 try { telegramIntent = new Intent(Intent.ACTION_VIEW); telegramInetnt.setData(Uri.parse("http://telegram.me/+userNameInTelegram")); startActivity(telegramIntent); } catch (Exception e) { // show error message } 

Este código mostrará al usuario una alerta para la elección de aplicaciones que apoyan el telegrama uri como Telegram y Mobogram!

Consejo: no establezca el nombre del paquete. Algunas personas instalan alternativas de telegrama como mobogram.

  • Cómo utilizar getChats en tdlib
  • Cygdrive Error de terminal: opus / src / opus.o error
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.