1. 程式人生 > >不使用官方SDK,實現微信分享(傳送到朋友,傳送到朋友圈)

不使用官方SDK,實現微信分享(傳送到朋友,傳送到朋友圈)

發現很多同學發帖說使用微信官方提供的sdk,實現微信分享的過程中遇到問題。我下載了微信的sdk,測試了一下,也失敗了。估計是應用需要通過官方稽核。

既然官方sdk測試不了,那我就使用絕招了:下面便是傳送到朋友,傳送到朋友圈的程式碼。(可以同時傳送圖片和文字感謝@空心糖 的反饋

[mw_shl_code=java,true]

private void shareToFriend(File file) {

                Intent intent = new Intent();
                ComponentName comp = new ComponentName("com.tencent.mm",
                                "com.tencent.mm.ui.tools.ShareImgUI
");
                intent.setComponent(comp);
                intent.setAction("android.intent.action.SEND");

                intent.setType("image/*");                  

                intent.putExtra(Intent.EXTRA_TEXT,"我是文字");

                intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));               
                startActivity(intent);
        }

private void shareToTimeLine(File file) {

                Intent intent = new Intent();
                ComponentName comp = new ComponentName("com.tencent.mm",
                                "com.tencent.mm.ui.tools.ShareToTimeLineUI");
                intent.setComponent(comp);
                intent.setAction("android.intent.action.SEND");
                intent.setType("image/*");
                intent.putExtra(Intent.EXTRA_TEXT,"我是文字");
                intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
                startActivity(intent);
        }[/mw_shl_code]

截圖:

傳送到朋友的介面由於個人隱私就不截了。
很多同學表示沒有看懂,故重新寫了個demo:
我這裡分享的是SDcard中Pictures目錄中的1.png圖片,請修改一下:
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File file = new File(dir, "1.png");