我可以启动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);
答案 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