我希望打开特定电报联系人的聊天页面,例如@useTest by android intent。
这是故意开放电报的片段:
Intent myIntent = new Intent(Intent.ACTION_SEND);
myIntent.setType("text/plain");
myIntent.setPackage("org.telegram.messenger");
activity.startActivity(myIntent);
但现在如何打开特定用户的聊天页面?
答案 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>