android中的开放电报通道

android中的开放电报通道,android,telegram,Android,Telegram,在我的应用程序中,希望使用意图打开特定的电报频道或电报组。我在SF中搜索,但找不到任何东西。我尝试实现,但我只能打开用户可以选择的所有messenger应用程序,但不能打开电报或特定电报组或频道。如果在sf上找到,但它不是我问题的答案 Intent myIntent = new Intent(Intent.ACTION_SEND); myIntent.setType("text/plain"); myIntent.setPackage(appName); myIn

在我的应用程序中,希望使用
意图
打开特定的电报频道或电报组。我在SF中搜索,但找不到任何东西。我尝试实现,但我只能打开用户可以选择的所有messenger应用程序,但不能打开电报或特定电报组或频道。如果在sf上找到,但它不是我问题的答案

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

打开电报频道或用户的意图:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("tg://resolve?domain=partsilicon"));
            startActivity(intent);

首先检查是否安装了电报客户端(电报信使或电报x)。如果没有,请在浏览器中打开它

fun telegramIntent(context: Context): Intent {
    var intent: Intent? = null
    try {
        try {
           context.packageManager.getPackageInfo("org.telegram.messenger", 0)//Check for Telegram Messenger App
        } catch (e : Exception){
           context.packageManager.getPackageInfo("org.thunderdog.challegram", 0)//Check for Telegram X App
        }
       intent = Intent(Intent.ACTION_VIEW, Uri.parse("tg://resolve?domain=${TELEGRAM_PAGE_ID}"))
    }catch (e : Exception){ //App not found open in browser
       intent = Intent(Intent.ACTION_VIEW, Uri.parse("http://www.telegram.me/$TELEGRAM_PAGE_ID"))
    }
   return intent!!
}

@Saurabh Padwekar答案的Java版本

  Intent getTelegramInt(Context context) {
        Intent intent;
        try {
            try { // check for telegram app
                context.getPackageManager().getPackageInfo("org.telegram.messenger", 0);
            } catch (PackageManager.NameNotFoundException e) {
                // check for telegram X app
                context.getPackageManager().getPackageInfo("org.thunderdog.challegram", 0);
            }
            // set app Uri
            intent = new Intent(Intent.ACTION_VIEW, Uri.parse("tg://resolve?domain=${TELEGRAM_PAGE_ID}"));
        } catch (PackageManager.NameNotFoundException e) {
            // set browser URI
            intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.telegram.me/$TELEGRAM_PAGE_ID"));
        }
        return intent;
    }

我们也可以使用
http://www.telegram.me/groupname
在意图中,当用户单击按钮可以选择电报时,我们可以在此链接上添加消息或文本吗?为上述解决方案添加try catch。否则,如果电报应用程序未安装,应用程序将崩溃
${telegrame\u PAGE\u ID}
它可能是一个电话号码或它应该是什么??${telegrame\u PAGE\u ID}这只是我们试图打开的组id/频道id。要找到频道id,请打开任何电报频道,单击频道信息。您将找到一个链接,例如
https://t.me/easyoffers
将${telegrame\u PAGE\u ID}设置为easyoffers如果您想打开对话,而不是组,则${telegrame\u PAGE\u ID}电话号码是多少??