我正在将twitter集成到我的应用程序中,并希望在iphone中显示twitter post对话框,如下图所示。
我们可以在Android中使用此对话框吗?
答案 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上发布字符串的教程