Android开发Android高级技术

android调用系统分享实现朋友圈同时分享文字和图片(可多张)

2016-11-18  本文已影响7754人  lvnihen

先上代码:

private void shareMultiplePictureToTimeLine(File... files) {
                Intent intent = new Intent();
                ComponentName comp = new ComponentName("com.tencent.mm",
                                "com.tencent.mm.ui.tools.ShareToTimeLineUI");
                intent.setComponent(comp);
                intent.setAction(Intent.ACTION_SEND_MULTIPLE);
                intent.setType("image/*");
                
                ArrayList<Uri> imageUris = new ArrayList<Uri>();
                for (File f : files) {
                        imageUris.add(Uri.fromFile(f));
                }
                intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
                intent.putExtra("Kdescription", "wwwwwwwwwwwwwwwwwwww");
                startActivity(intent);
}
              localIntent = new Intent("android.intent.action.SEND");
              localIntent.putExtra("android.intent.extra.TEXT", paramString1);
              localIntent.putExtra("sms_body", paramString1);
              localIntent.putExtra("Kdescription", paramString1);
              if (localUri1 == null)
                break;
              localIntent.putExtra("android.intent.extra.STREAM", localUri1);
              localIntent.setType("image/*");
              context.startActivity(Intent.createChooser(localIntent, "Share"));

其中最关键的就是:

intent.putExtra("Kdescription", text); 

文字部分一直分享失败,搞了很久都分享失败后来才发现是需要加上这一句了·····坑!
原来Kdescription是微信描述信息的键。

原因是:微信的代码已经做了代码混淆,因此看起来有些困难,但是仔细观察还是有很多东西可以看出来的。在此类中我们寻找Intent传递的有关key的名称,找到了好几个,因此我们可以一个个来测试,最终发现就是Kdescription这个键来传递描述信息。

效果如下:


Paste_Image.png
上一篇 下一篇

猜你喜欢

热点阅读