android集成微信分享步骤

微信分享支付在当前应用中已经很普遍了,然还是有很多同学不会,其实接人第三方的东西是开发中最简单的了,主要是步骤不要乱,接下来就是详细步骤了:
一、将新建的项目运行到手机上,记住要安装用密钥打包后的apk,然后去微信开放平台下载签名工具,安装到手机上。
二、将项目的包名复制到微信签名工具获取签名。
三、在微信开发平台申请应用,签名填刚刚微信签名工具获取到的,
这样第一步就完成了,接下来就是app的活了。
四、在清单文件AndroidManifest中添加代码
五、在工程目录下建微信包在这里插入图片描述
记住名字位置不能错
六、最简单了,复制这个类去微信包下

public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
private Context context;
private IWXAPI iwxapi;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
context = this;
iwxapi = WXAPIFactory.createWXAPI(this, Uitl.WX_APPID, false);
iwxapi.handleIntent(getIntent(), this);

}

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);

    setIntent(intent);

    iwxapi.handleIntent(intent, this);

}

@Override
public void onReq(BaseReq req) {//发送请求时调用
    // TODO Auto-generated method stub

System.out.println("---------req"+req);

}

@Override
public void onResp(BaseResp resp) {
    // TODO Auto-generated method stub
    String result = "";
    System.out.println("---------a"+resp.errCode);
    switch (resp.errCode) {
        case BaseResp.ErrCode.ERR_OK:
            //分享成功
            Toast.makeText(context, "成功", Toast.LENGTH_SHORT).show();
            this.finish();
            break;
        case BaseResp.ErrCode.ERR_USER_CANCEL:
            //分享取消
            Toast.makeText(context, "取消", Toast.LENGTH_SHORT).show();
            result = "发送取消";
            this.finish();
            break;
        case BaseResp.ErrCode.ERR_AUTH_DENIED:
            //分享拒绝
            Toast.makeText(context, "拒绝", Toast.LENGTH_SHORT).show();
            result = "发送被拒绝";
            this.finish();
            break;
        default:
            //amrak
            result = "发送返回";
            Toast.makeText(context, result, Toast.LENGTH_SHORT).show();
            finish();
            break;
    }
}

}
七、分享工具类也给你了,直接调用吧
package superdata.com.superdata.utils;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.support.v4.content.FileProvider;

import com.tencent.connect.share.QQShare;
import com.tencent.connect.share.QzoneShare;
import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
import com.tencent.mm.opensdk.modelmsg.WXImageObject;
import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
import com.tencent.mm.opensdk.modelmsg.WXWebpageObject;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import com.tencent.open.utils.ThreadManager;
import com.tencent.tauth.IUiListener;
import com.tencent.tauth.Tencent;

import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

/**

  • Created by hx on 2017/8/16.
    */

public class ShareUtil {

//public static final String WX_APP_ID = "";//改成你在微信开放平台审核通过的appID


private static IWXAPI iwxapi;





public ShareUtil() {
    super();
    // TODO Auto-generated constructor stub
}


/**要分享必须先注册(微信)*/
public static void regToWX(Context context) {

    iwxapi = WXAPIFactory.createWXAPI(context, Uitl.WX_APPID, true);
    iwxapi.registerApp(Uitl.WX_APPID);

}



public IWXAPI getIwxapi() {
    return iwxapi;
}

public void setIwxapi(IWXAPI iwxapi) {
    this.iwxapi = iwxapi;
}

public  Tencent getTencent() {
    return tencent;
}

public void setTencent(Tencent tencent) {
    this.tencent = tencent;
}

public String getWxAppId() {
    return Uitl.WX_APPID;
}


/**
 * 分享图片
 * @param bitmap    图片
 * @param shareType    0:分享到好友  1:分享到朋友圈
 */
public static void sharePicture(Bitmap bitmap, int shareType) {
    WXImageObject imgObj = new WXImageObject(bitmap);

    WXMediaMessage msg = new WXMediaMessage();
    msg.mediaObject = imgObj;

    Bitmap thumbBitmap = Bitmap.createScaledBitmap(bitmap, 100, 100, true);
    bitmap.recycle();
    msg.thumbData = Uitl.bmpToByteArray(thumbBitmap);  //设置缩略图

    SendMessageToWX.Req req = new SendMessageToWX.Req();
    req.transaction = buildTransaction("imgshareappdata");
    req.message = msg;
    req.scene = shareType;
    iwxapi.sendReq(req);
}

/**分享到微信好友*/
public static void shareToWXSceneSession(String url, String shareTitle, String description){
    WXWebpageObject webpageObject = new WXWebpageObject();
    webpageObject.webpageUrl = url;
    WXMediaMessage mWxMediaMessage = new WXMediaMessage(webpageObject);
    mWxMediaMessage.title = shareTitle;
    mWxMediaMessage.description = description;
    SendMessageToWX.Req req = new SendMessageToWX.Req();
    req.transaction = String.valueOf(System.currentTimeMillis());//transaction字段用于唯一标识一个请求
    req.message = mWxMediaMessage;
    req.scene = SendMessageToWX.Req.WXSceneSession;
    iwxapi.sendReq(req);

}

/**分享到微信收藏*/
public void shareToWXSceneFavorite(String url,String shareTitle,String description){

    WXWebpageObject webpageObject = new WXWebpageObject();
    webpageObject.webpageUrl = url;
    WXMediaMessage wxMediaMessage = new WXMediaMessage(webpageObject);
    wxMediaMessage.title = shareTitle;
    wxMediaMessage.description = description;
    SendMessageToWX.Req req = new SendMessageToWX.Req();
    req.transaction = String.valueOf(System.currentTimeMillis());
    req.message = wxMediaMessage;
    req.scene = SendMessageToWX.Req.WXSceneFavorite;
    iwxapi.sendReq(req);
}



/**分享到微信朋友圈*/
public void shareToWXSceneTimeline(String url,String shareTitle,String description,String imageUrl){

    WXWebpageObject webpageObject = new WXWebpageObject();
    webpageObject.webpageUrl = url;
    WXMediaMessage mediaMessage = new WXMediaMessage(webpageObject);
    mediaMessage.title = shareTitle;
    mediaMessage.description = description;
    Bitmap bitmap = BitmapFactory.decodeFile(imageUrl);
    Bitmap thumBmp = Bitmap.createScaledBitmap(bitmap, 150, 150, true);//图片大小有限制,太大分享不了
   //mediaMessage.thumbData = Tools.getBitmapByte(thumBmp);
    SendMessageToWX.Req req = new SendMessageToWX.Req();
    req.transaction = String.valueOf(System.currentTimeMillis());
    req.message = mediaMessage;
    req.scene = SendMessageToWX.Req.WXSceneTimeline;
    iwxapi.sendReq(req);

}

}
至此,微信分享就完美的完成了!!!!!!!!!!!!!!!!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值