Android 通过Twitter本机应用程序共享
我有一个android应用程序,我正在尝试通过twitter添加共享功能。我已经成功实现了用户可以通过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");
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
}
是的,但问题是:如果用户尚未登录,用户将登录,然后它将移动到显示所有推文的主页选项卡,而应该移动到将添加我的文本的发布推文页面。抱歉,但您无法更改默认推文应用行为