如何打开特定电报的聊天页面

时间:2016-05-17 16:04:06

标签: android-intent telegram

我希望打开特定电报联系人的聊天页面,例如@useTest by android intent。

这是故意开放电报的片段:

Intent myIntent = new Intent(Intent.ACTION_SEND);
myIntent.setType("text/plain");
myIntent.setPackage("org.telegram.messenger");
activity.startActivity(myIntent);

但现在如何打开特定用户的聊天页面?

3 个答案:

答案 0 :(得分:1)

工作原理:

  • 如果安装了电报客户端,它会构建浏览器列表以忽略它们。

  • 如果只有一个客户(goodresolvers == 1),那么它就会被打开。

  • 如果没有好客户(goodresolvers == 0),它会回退到默认的意向处理程序。

  • 如果您使用自定义选择器实现对话框,只允许选择" good"客户端,以防用户安装了多个Telegram客户端。

    openTelegram(activity, "userTest");

用法:{{1}}

答案 1 :(得分:1)

这是一个简单的解决方案,但是完美无瑕;)

try {
    Intent telegram = new Intent(Intent.ACTION_VIEW, Uri.parse("https://t.me/UsernameOrId));
    telegram.setPackage("org.telegram.messenger");
    startActivity(telegram);
} catch (Exception e) {
    Toast.makeText(this, "Telegram app is not installed", Toast.LENGTH_LONG).show();
}

答案 2 :(得分:0)

这个对我有用:

try {
Intent telegram = new Intent(Intent.ACTION_VIEW, Uri.parse("https://t.me/USER_NAME"));
 telegram.setPackage("org.telegram.messenger");
 startActivity(telegram);
}catch (Exception e) 
{
   Toast.makeText(getContext(), "Telegram app is not installed", Toast.LENGTH_LONG).show();
 }

提示:您可以通过单击您的电报配置文件选项来获取 USER_NAME,您将在帐户会话中获得用户名选项 --> 如果用户名没有,请创建唯一的用户名并将其放在这里为我工作< /p>