2012-10-13 56 views
0

会有人知道的类名只开放Twitter应用程序? intent.setClassName("com.twitter.android", "com.twitter.android"); 显然,这是行不通的。打开Twitter应用程序从意图

我知道我们可以打开链接后,但那不是我想要的。任何人都可以请帮忙。 这是张贴代码。

intent.setClassName("com.twitter.android", 
     "com.twitter.android.PostActivity"); 

回答

1

您试过这个吗?请注意,只有在已安装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); 
    } 
+0

感谢jade ......它对我有用。 –

相关问题