先上代碼:
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