我想通过android jelly bean通过Facebook分享一些图像和文本。它可以在android jelly bean之外的所有设备上使用。有人请帮助我如何解决此问题。
我的代码
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Content to share");
PackageManager pm = v.getContext().getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0);
for (final ResolveInfo app : activityList) {
if ((app.activityInfo.name).contains("facebook")) {
final ActivityInfo activity = app.activityInfo;
final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name);
System.out.println("package name"+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);
break;
在这段代码中,我想要输入一些文本。但是EXTRA_TEXT不起作用。如何在此EXTRA_TEXT中传递字符串或图像。
最佳答案
您不应该只直接针对Facebook。
相反,您应该只使用“共享 Intent ”。按照SDK中指定的方式将数据传递给Extras,然后让用户选择要共享的数据。不要强制他们使用Facebook,因为不是唯一的社交媒体。还有Twitter,4square和用户使用的许多其他内容。让这些应用处理您的 Intent ,不要规定严格的限制,例如而不是 Intent Intent ACTION_SEND
的工作方式。
至于您的Extra问题,显然EXTRA_TEXT
Intent 将不起作用,因为它没有用于图像或类似的引用。
阅读文档
http://developer.android.com/reference/android/content/Intent.html#ACTION_SEND
它说:
有了这些信息,您还需要以 Intent 的类型为您的特定数据设置模仿类型。
关于android - 通过Facebook为Android果冻 bean 分享 Intent ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15025156/