【问题标题】:Share via Twitter Native App通过 Twitter 原生应用分享
【发布时间】:2014-09-11 17:00:34
【问题描述】:

我有 android 应用程序,我正在尝试通过 twitter 添加共享功能。我已成功实现用户可以通过 Twitter 应用程序共享的位置:

这是我的代码:

Intent tweetIntent = new Intent(Intent.ACTION_SEND);
            tweetIntent.setType("text/plain");
            tweetIntent.putExtra(Intent.EXTRA_SUBJECT, "tweet");
            tweetIntent.putExtra(Intent.EXTRA_TEXT, "sample tweet");

            PackageManager pm = activity.getPackageManager();
            List<ResolveInfo> lract = pm.queryIntentActivities(tweetIntent, PackageManager.MATCH_DEFAULT_ONLY);
            boolean resolved = false;
            for (ResolveInfo ri : lract) {
                if (ri.activityInfo.name.contains("twitter")) {
                    tweetIntent.setClassName(ri.activityInfo.packageName,
                            ri.activityInfo.name);
                    resolved = true;
                    break;
                }
            }
            if(resolved){
                activity.startActivity(tweetIntent);
            }else{
                // do something
            }

点击按钮的场景:

1) 打开twitter native app,如果用户已经登录,则将控制权传递给post tweet page,我的文本将在其中添加,点击帖子后,它将成功发布。

问题场景

如果用户没有登录,用户将sign in,之后它将移动到显示所有推文的Home tab,而不是应该移动到post tweet page,我的文本将被添加。

我该如何解决这个问题?

【问题讨论】:

    标签: android twitter


    【解决方案1】:

    我记得这应该适用于原生 twitter

    String twitterPackage = "com.twitter.android";
    String errorMessage = "You should install Twitter app first";
    if(isPackageInstalled(twitterPackage, getActivity())){
        Intent tweetIntent = new Intent(Intent.ACTION_SEND);
        tweetIntent.setType("text/*");
        tweetIntent.setPackage(twitterPackage);
        tweetIntent.putExtra(Intent.EXTRA_TEXT, "sample tweet");
        getActivity().startActivity(tweetIntent);
    } else {
        Toast.makeText(getActivity(), errorMessage, Toast.LENGHT_SHORT).show();// handle error
    }
    

    【讨论】:

    • 是的,但问题是:如果用户尚未登录,用户将登录,之后它将移动到显示所有推文的主页选项卡,而不是它应该移动到发布推文页面,我的文字将被添加。
    • 抱歉,您无法更改默认的 twitter 应用行为
    猜你喜欢
    • 2012-05-13
    • 2013-02-05
    • 2015-08-17
    • 2012-12-04
    • 2016-04-20
    • 2018-10-13
    • 1970-01-01
    • 2014-01-14
    • 2014-12-25
    相关资源
    最近更新 更多