2015-05-05 22 views
7

Ich versuche, eine Telegram Nachricht an eine bestimmte Nummer aus meiner Android App zu senden. Gerade jetzt startet mein Code Telegram App, und dann muss der Benutzer das Ziel auswählen. Ich möchte die Nachricht an die angegebene Nummer senden, ohne dass der Benutzer den Kontakt auswählen muss. Mein Code ist wie folgt:Android - Senden Telegram Nachricht an eine bestimmte Nummer

/** 
* 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(); 
    } 
} 
+0

Ich habe etwas so gemacht, indem ich eine'Email'-Absicht (es öffnet sich eine Auswahl - Telegramm ist aufgeführt), die ich kann die Standardeinstellung, schließlich. Ich sende auch optionale Anhänge (0, 1 oder 2 - je nach Benutzerauswahl). Ich benutze die eMail-Adresse des Empfängers. –

+0

Ich bin mir nicht sicher, dass Sie das tun können, da Telegram Ihre Telefonkontaktliste verwendet und es keine _Type eine neue Nummer hat, um mit der Funktion selbst zu chatten – KM11

+0

Ich habe versucht. Es klappt. –

Antwort

5

Das Telegramm Android App haben keine Möglichkeit, Nachrichten an Telegramm Benutzer direkt zu senden, wenn Sie also den Anteil Absicht verwenden, werden Sie bekommen, was Telegramm/jede andere App will mache mit der geteilten Nachricht. Öffnen Sie in diesem Fall die Kontaktliste, um diese Nachricht an ihn zu senden.

Wenn Sie zum Senden von Nachrichten direkt an Telegramm Benutzer möchten, sollten Sie das Telegramm API verwenden https://core.telegram.org/api#getting-started

sobald Sie Ihre API-Schlüssel in Ihrer Anwendung konfiguriert haben, können Sie Nachrichten senden können, lesen Sie sie oder sogar die Telegramm Kontakte erhalten mit diesen Methoden

https://core.telegram.org/methods

0

Dies ist für mich gearbeitet:

überprüfen // wenn die Anwendung zum ersten Mal installiert wird, bevor diesen Code ausführen.

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); 
1

Sie können nicht auf spezielle Nummer senden, aber Sie können diese

try { 

    Intent telegramIntent = new Intent(Intent.ACTION_VIEW); 
    telegramIntent.setData(Uri.parse("http://telegram.me/USERID")); 
    startActivity(telegramIntent); 

} catch (Exception e) { 
     // show error message 
} 

von USERID tun Dieser Code Benutzer eine Benachrichtigung für die Auswahl von Anwendungen zeigen, dass Telegramm URIs wie Telegramm selbst und Mobogram unterstützen!

Tipp: Paketname nicht festlegen. Einige Leute installieren Telegrammalternativen wie Mmogramm.

+1

Wie kann ich den Benutzernamen des Benutzers erhalten? – NehaK

Verwandte Themen