2012-10-13 55 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 ......它對我有用。 –

相關問題