web-dev-qa-db-ja.com

Android-テレグラムメッセージを特定の番号に送信

Android app。ユーザーが連絡先を選択せず​​に、指定された番号にメッセージを送信することです。私のコードは次のとおりです。

/**
 * 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();
    }
}
14
fergaral

テレグラムAndroidアプリには、テレグラムユーザーに直接メッセージを送信する方法がないため、共有インテントを使用すると、テレグラムや他のアプリがメッセージに対して実行したいことを取得できますこの場合、連絡先リストを開いてこのメッセージを送信します。

メッセージをTelegramユーザーに直接送信する場合は、Telegram API https://core.telegram.org/api#getting-started を使用する必要があります

アプリでAPIキーを設定すると、メッセージを送信したり、メッセージを読んだり、これらのメソッドで電報の連絡先を取得したりできます

https://core.telegram.org/methods

6
Sekongur

特別な番号に送信することはできませんが、これはUSERIDで行うことができます

try {

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

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

このコードは、Telegram自体やMobogramのようなTelegram URIをサポートするアプリケーションを選択するためのアラートをユーザーに表示します。

ヒント:パッケージ名を設定しません。一部の人々はモボグラムのような電報代替物をインストールします。

7
user6558741

これは私のために働きました:

//このコードを実行する前に、アプリケーションが最初にインストールされているかどうかを確認します。

 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
MSaudi