Android 在facebook上共享多张照片

Android 在facebook上共享多张照片,android,Android,我想在我的应用程序中共享多张照片。我可以使用facebook graph API上传一张照片,但如何共享多张照片 Thanx.Android不提供用于选择多个图像/图片或任何其他媒体类型的开箱即用功能。资料来源:(我通常会把马克·墨菲的话当作福音,除非有人能挑战它) 最接近的意图是动作的多次发送。但是,这不是您的选择 你需要创建一个自定义选择器,就像Facebook在自己的移动应用程序中所做的那样 您将在此处获得实现自己的多图像选择器的完整功能示例: 最后,要一次性将多张图片上传到Faceboo

我想在我的应用程序中共享多张照片。我可以使用facebook graph API上传一张照片,但如何共享多张照片


Thanx.

Android不提供用于选择多个图像/图片或任何其他媒体类型的开箱即用功能。资料来源:(我通常会把马克·墨菲的话当作福音,除非有人能挑战它)

最接近的意图是动作的多次发送。但是,这不是您的选择

你需要创建一个自定义选择器,就像Facebook在自己的移动应用程序中所做的那样

您将在此处获得实现自己的多图像选择器的完整功能示例:

最后,要一次性将多张图片上传到Facebook,您需要发送


但对于你所寻找的东西,肯定没有现成的解决方案。将以上所有内容结合起来,你就可以了。但恐怕没什么直截了当的。

我用intent在Facebook上分享了多张照片。 变量“caminhos”是一个ArrayList,其中包含要共享的图像的路径

protected void share(String nameApp, String imagePath, String text) {
// TODO Auto-generated method stub

try {
    List<Intent> targetedShareIntents = new ArrayList<Intent>();
    Intent share = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
    share.setType("image/jpeg");
    List<ResolveInfo> resInfo = getActivity().getPackageManager()
            .queryIntentActivities(share, 0);
    if (!resInfo.isEmpty()) {
        for (ResolveInfo info : resInfo) {
            Intent targetedShare = new Intent(
                    android.content.Intent.ACTION_SEND_MULTIPLE);
            targetedShare.setType("image/png"); // put here your mime
            // type
            if (info.activityInfo.packageName.toLowerCase().contains(
                    nameApp)
                    || info.activityInfo.name.toLowerCase().contains(
                            nameApp)) {
                targetedShare.putExtra(Intent.EXTRA_SUBJECT, text);
                targetedShare.putExtra(Intent.EXTRA_TEXT, text);
                ArrayList<Uri> files = new ArrayList<Uri>();
                for(int j= 0;j<caminhos.size();j++){
                    if(!caminhos.get(j).isEmpty()){
                        File file = new File(caminhos.get(j));
                        Uri uri = Uri.fromFile(file);
                        files.add(uri);
                    }
                }

                targetedShare.putParcelableArrayListExtra(Intent.EXTRA_STREAM,
                        files);
                targetedShare.setPackage(info.activityInfo.packageName);
                targetedShareIntents.add(targetedShare);
            }
        }
        Intent chooserIntent = Intent.createChooser(
                targetedShareIntents.remove(0), "Select app to share");
        chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
                targetedShareIntents.toArray(new Parcelable[] {}));
        startActivity(chooserIntent);
    }
} catch (Exception e) {
}
受保护的无效共享(字符串nameApp、字符串imagePath、字符串文本){
//TODO自动生成的方法存根
试一试{
List targetedShareContents=new ArrayList();
意向共享=新意向(android.content.Intent.ACTION\u SEND\u MULTIPLE);
share.setType(“图像/jpeg”);
List resInfo=getActivity().getPackageManager()
.查询活动(共享,0);
如果(!resInfo.isEmpty()){
对于(ResolveInfo:resInfo){
意向targetedShare=新意向(
android.content.Intent.ACTION\u SEND\u MULTIPLE);
targetedShare.setType(“image/png”);//将您的mime文件放在这里
//类型
如果(info.activityInfo.packageName.toLowerCase()包含(
名称(应用程序)
||info.activityInfo.name.toLowerCase()包含(
名称(应用程序)){
targetedShare.putExtra(Intent.EXTRA_主题,文本);
targetedShare.putExtra(Intent.EXTRA_TEXT,TEXT);
ArrayList files=新的ArrayList();
对于(int j=0;j可能重复的