从Android应用程序打开Twitter应用程序用户配置

时间:2012-08-20 11:23:20

标签: android twitter

我可以启动Twitter应用程序(如果它存在于手机上),但我找不到如何自动显示特定的用户个人资料。

这样的内容适用于Google +:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName("com.google.android.apps.plus", "com.google.android.apps.plus.phone.UrlGatewayActivity");
intent.putExtra("customAppUri", "USER_ID");

这是Facebook方式:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/USER_ID"));
startActivity(intent);

启动Twitter应用程序时应该有同样的解决方案吗?

Intent intent = getPackageManager().getLaunchIntentForPackage("com.twitter.android");
intent.putExtra("WHAT_TO_PUT_HERE?", "USER_ID");
startActivity(intent);

3 个答案:

答案 0 :(得分:28)

try {
   startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?screen_name=" + twitter_user_name)));
}catch (Exception e) {
   startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/#!/" + twitter_user_name)));
}

这适用于新的Twitter应用程序。 @Baptiste Costa提供的解决方案对我没用。

答案 1 :(得分:17)

try
{
    // Check if the Twitter app is installed on the phone.
    getPackageManager().getPackageInfo("com.twitter.android", 0);

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setClassName("com.twitter.android", "com.twitter.android.ProfileActivity");
    // Don't forget to put the "L" at the end of the id.
    intent.putExtra("user_id", 01234567L);
    startActivity(intent);
}
catch (NameNotFoundException e)
{
    // If Twitter app is not installed, start browser.
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/AndroTesteur")));
}

答案 2 :(得分:1)

这是一个非常老的问题,我想阐明一下。如果失败,我可以使用用户ID或用户名来完成。

Tenant