有谁知道只打开 twitter 应用程序的类名吗?intent.setClassName("com.twitter.android", "com.twitter.android");
显然这不起作用。
我知道我们可以打开帖子链接,但这不是我想要的。任何人都可以帮忙吗?这是发布的代码。
intent.setClassName("com.twitter.android",
"com.twitter.android.PostActivity");
有谁知道只打开 twitter 应用程序的类名吗?intent.setClassName("com.twitter.android", "com.twitter.android");
显然这不起作用。
我知道我们可以打开帖子链接,但这不是我想要的。任何人都可以帮忙吗?这是发布的代码。
intent.setClassName("com.twitter.android",
"com.twitter.android.PostActivity");
你试过这个吗?请注意,只有当他们已经安装了 twitter 应用程序时,它才会起作用。如果您只想打开应用程序(而不是发布推文),请尝试将 Intent.ACTION_SEND 更改为 Intent.ACTION_VIEW
try{
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, "this is a tweet");
intent.setType("text/plain");
final PackageManager pm = getPackageManager();
final List<?> activityList = pm.queryIntentActivities(intent, 0);
int len = activityList.size();
for (int i = 0; i < len; i++) {
final ResolveInfo app = (ResolveInfo) activityList.get(i);
if ("com.twitter.android.PostActivity".equals(app.activityInfo.name)) {
final ActivityInfo activity=app.activityInfo;
final ComponentName name=new ComponentName(activity.applicationInfo.packageName, activity.name);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
intent.setComponent(name);
startActivity(intent);
break;
}
}
}
catch(final ActivityNotFoundException e) {
Log.i("twitter", "no twitter native",e );
}