解决方法
如果用户已经在他们的手机上安装了Twitter,那么这样的事情应该照顾它:
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 ); }