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();
}
}
テレグラムAndroidアプリには、テレグラムユーザーに直接メッセージを送信する方法がないため、共有インテントを使用すると、テレグラムや他のアプリがメッセージに対して実行したいことを取得できますこの場合、連絡先リストを開いてこのメッセージを送信します。
メッセージをTelegramユーザーに直接送信する場合は、Telegram API https://core.telegram.org/api#getting-started を使用する必要があります
アプリでAPIキーを設定すると、メッセージを送信したり、メッセージを読んだり、これらのメソッドで電報の連絡先を取得したりできます
特別な番号に送信することはできませんが、これは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をサポートするアプリケーションを選択するためのアラートをユーザーに表示します。
ヒント:パッケージ名を設定しません。一部の人々はモボグラムのような電報代替物をインストールします。
これは私のために働きました:
//このコードを実行する前に、アプリケーションが最初にインストールされているかどうかを確認します。
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);