Androidはどのように絵と文字を同時にWeChatに共有しますか?

2526 ワード

WeChatオープンプラットフォーム上の例は、一枚の写真を単独で共有するか、或いは一段の文字を単独で共有するだけです.最近はこの機能をするために、この記事があるかどうか検索してみました.ブロガーの検索能力は限られていますが、見つけられませんでした.最後に、この機能を持つアプリケーションを逆コンパイルしました.この部分のコードを得て、取り出して共有します.
View Row Code
public void sendReq(Context context, String text, Bitmap bmp) {
        String url = "http://www.ABC.net";//                    
        WXWebpageObject localWXWebpageObject = new WXWebpageObject();
        localWXWebpageObject.webpageUrl = url;
        WXMediaMessage localWXMediaMessage = new WXMediaMessage(
                localWXWebpageObject);
        localWXMediaMessage.title = "    ";//    ,         。               。
        localWXMediaMessage.description = text;
        localWXMediaMessage.thumbData = getBitmapBytes(bmp, false);
        SendMessageToWX.Req localReq = new SendMessageToWX.Req();
        localReq.transaction = System.currentTimeMillis() + "";
        localReq.message = localWXMediaMessage;
        IWXAPI api = WXAPIFactory.createWXAPI(context, APP_ID, true);
        api.sendReq(localReq);
    }
//          ,      log   thumbData    
    private static byte[] getBitmapBytes(Bitmap bitmap, boolean paramBoolean) {
        Bitmap localBitmap = Bitmap.createBitmap(80, 80, Bitmap.Config.RGB_565);
        Canvas localCanvas = new Canvas(localBitmap);
        int i;
        int j;
        if (bitmap.getHeight() > bitmap.getWidth()) {
            i = bitmap.getWidth();
            j = bitmap.getWidth();
        } else {
            i = bitmap.getHeight();
            j = bitmap.getHeight();
        }
        while (true) {
            localCanvas.drawBitmap(bitmap, new Rect(0, 0, i, j), new Rect(0, 0,
, 80), null);
            if (paramBoolean)
                bitmap.recycle();
            ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
            localBitmap.compress(Bitmap.CompressFormat.JPEG, 100,
                    localByteArrayOutputStream);
            localBitmap.recycle();
            byte[] arrayOfByte = localByteArrayOutputStream.toByteArray();
            try {
                localByteArrayOutputStream.close();
                return arrayOfByte;
            } catch (Exception e) {
                F.out(e);
            }
            i = bitmap.getHeight();
            j = bitmap.getHeight();
        }
    }



   :http://mobile.9sssd.com/android/art/1059
実は1つのホームページを共有して、同時にこのページの略図、説明などの情報を提供します.ちょうど絵と文字の内容を共有するために持ってきました.その他のコードの一部はWeChatオープンプラットフォームで提供された例と同じです.必要な友達に少し役に立ちたいです.