我想通过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/

10-11 22:23
查看更多