Android 通过Twitter本机应用程序共享

Android 通过Twitter本机应用程序共享,android,twitter,Android,Twitter,我有一个android应用程序,我正在尝试通过twitter添加共享功能。我已经成功实现了用户可以通过twitter应用程序共享的功能: 这是我的代码: Intent tweetIntent = new Intent(Intent.ACTION_SEND); tweetIntent.setType("text/plain"); tweetIntent.putExtra(Intent.EXTRA_SUBJECT, "tweet");

我有一个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
            }
Intent tweetIntent=新的意图(Intent.ACTION\u SEND);
tweetIntent.setType(“文本/普通”);
tweetIntent.putExtra(Intent.EXTRA_主题,“tweet”);
tweetIntent.putExtra(Intent.EXTRA_文本,“示例tweet”);
PackageManager pm=activity.getPackageManager();
List lract=pm.querytentActivities(仅限tweetIntent、PackageManager.MATCH_DEFAULT_);
布尔值=假;
对于(ResolveInfo ri:lract){
if(ri.activityInfo.name.contains(“twitter”)){
tweetIntent.setClassName(ri.activityInfo.packageName,
ri.activityInfo.name);
已解决=正确;
打破
}
}
如果(已解决){
活动。开始触觉(tweetIntent);
}否则{
//做点什么
}
单击按钮时的场景:

1) 打开
twitter本机应用程序
,如果用户已经登录,则将控件传递到
post tweet页面
,在该页面中添加我的文本,单击post将成功发布

问题场景

如果用户尚未登录,则用户将
登录
,然后将移动到
主页选项卡
,其中显示所有推文,而应移动到
发布推文页面
,其中将添加我的文本


如何解决此问题?

我记得这应该适用于本机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
}

是的,但问题是:如果用户尚未登录,用户将登录,然后它将移动到显示所有推文的主页选项卡,而应该移动到将添加我的文本的发布推文页面。抱歉,但您无法更改默认推文应用行为