2012-08-23 48 views

回答

6

我認爲將平臺上的副本UI用於另一個平臺是一個壞主意。

我建議您使用的共享意圖:

http://mobile.tutsplus.com/tutorials/android/android-sdk-implement-a-share-intent/

http://developer.android.com/training/sharing/send.html

這真的很容易使用,並與平臺的集成。

+1

是的好的但是,我不想在InTwitter上發佈意圖。我正在使用twitter4j sdk將twitter集成到我的應用程序中,並且想要發佈它。我只是要求twitter也在android sdk中提供這個對話框。這只是一個網絡視圖。 –

+0

我不想使用意圖,因爲該用戶必須在其設備中有推特,但如果用戶沒有在其設備中推特,該怎麼辦 –

+0

好吧,這是一個很好的理由:)。我認爲這不是由sdk提供的。但我認爲很容易將您的webview重定向到Twitter移動版本的相應帖子頁面。 – Aerilys

2

你可以通過從共享意圖查找Twitter應用程序來實現這一點,如果它已安裝,但如果不是,你可以處理這種情況和我的下面的代碼打開你的Twitter應用程序頁面,因爲我發現twitter4j很難整合並給出不一致的結果。

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); 
        shareIntent.setType("text/plain"); 
        shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject"); 
        shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, " text"; 

        final PackageManager pm = v.getContext().getPackageManager(); 
        final List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0); 

        boolean twtchk=false; 

        for (final ResolveInfo app : activityList) { 

         if ("com.twitter.android.PostActivity".equals(app.activityInfo.name)) { 
          final ActivityInfo activity = app.activityInfo; 
          System.out.println("package==="+activity.applicationInfo.packageName); 
          final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name); 
          shareIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
          shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
          shareIntent.setComponent(name); 
          v.getContext().startActivity(shareIntent); 
          twtchk=true; 
          break; 
         } 


        } 

        if(!twtchk) 
        { 
         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/yourapp")); 

         startActivity(intent); 
        } 
+0

正是我在尋找。有沒有更好的方法來定位Twitter PostActivity? – localhost

1

用xml創建這個視圖並使用它。 here是使用twitter4j在twitter上發佈字符串的教程