使用intent无法在android中共享图像和文本?

时间:2014-05-23 10:32:36

标签: android facebook android-intent

我想使用意图分享图片和文字,但这不起作用 当facebook意图开始时它只显示我想要共享文本和图像的图像

你可以在这里查看图片

enter image description here

 List<Intent> targetShareIntents=new ArrayList<Intent>();
                                            Intent shareIntent=new Intent();
                                            shareIntent.setAction(Intent.ACTION_SEND);
                                            shareIntent.setType("text/plain");
                                            List<ResolveInfo> resInfos=getPackageManager().queryIntentActivities(shareIntent, 0);
                                            if(!resInfos.isEmpty())
                                            {

                                                for(ResolveInfo resInfo : resInfos)
                                                {
                                                    String packageName=resInfo.activityInfo.packageName;
                                                    Log.i("Package Name", packageName);
                                                    if(packageName.contains("com.facebook.katana"))
                                                    {
                                                        String imageurl="/storage/emulated/0/iWally/explosion_3-wallpaper-1024x768.jpg";
                                                        String text="hello how are you";
                                                        Intent intent=new Intent();
                                                        intent.setType("image/*");
                                                        intent.setComponent(new ComponentName(packageName, resInfo.activityInfo.name));
                                                        intent.setAction(Intent.ACTION_SEND);
                                                        intent.putExtra(Intent.EXTRA_TEXT,text);
                                                        intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+imageurl.toString()));
                                                        intent.setPackage(packageName);
                                                        targetShareIntents.add(intent);
                                                    }
                                                }

                                                if(!targetShareIntents.isEmpty())
                                                {
                                                    System.out.println("Have Intent");
                                                    Intent chooserIntent=Intent.createChooser(targetShareIntents.remove(0), "Choose app to share");
                                                    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetShareIntents.toArray(new Parcelable[]{}));
                                                    startActivity(chooserIntent);
                                                }
                                                else
                                                {
                                                     Uri uri = Uri.parse("market://details?id=com.facebook.katana"); 
                                                     Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
                                                     startActivity(intent);
                                                    System.out.println("Do not Have facebook");

                                                }
                                            }

1 个答案:

答案 0 :(得分:1)

嘿,当我问同样的question

时,我做了很多研究

基本上不可能使用“com.facebook.katana”来自Facebook应用程序,因为它忽略额外文本时和图像在那里看到实际的bug,但是当图像不存在时可以有链接。我知道很烦人。

经过大量关注后,我使用facebook sdk 3.14.1创建了我自己的活动,它允许图片和文字here is the github to the demo project给它一个去,让它知道它是否会帮助你。