如何显示Twitter发布对话框像Iphone

时间:2012-08-23 09:17:43

标签: android twitter twitter-oauth twitter4j

我正在将twitter集成到我的应用程序中,并希望在iphone中显示twitter post对话框,如下图所示。

enter image description here

我们可以在Android中使用此对话框吗?

3 个答案:

答案 0 :(得分:6)

我认为将UI从平台复制到另一个平台是一个坏主意。

我建议您使用分享意图:

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

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

它非常易于使用并与平台集成。

答案 1 :(得分: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);
                    }

答案 2 :(得分:1)

在xml中创建此视图并使用它。 here是使用twitter4j在Twitter上发布字符串的教程