Android实现微信开放平台、易信平台分享(好友及朋友圈)

本文详细介绍了如何在Android应用中实现微信开放平台和易信平台的分享功能,包括注册应用、设置签名、处理回调、创建分享内容以及在MainActivity中添加分享按钮的步骤。分享类型涵盖好友和朋友圈,特别提示了签名生成、图片大小限制等关键点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信

一、登陆网站 https://open.weixin.qq.com/

主页面 (需登陆,无账号请先注册)

 

二、选择相对应模块

如移动应用开发,点击“了解更多”

 

点击“创建应用”

 

三、填写相关信息

 

需提供图标两种,分辨率分别为28*28108*108(只能是这两种分辨率),所填相关信息中一定不能出现“微信”“腾讯”等字样,否则会审核失败。官网我填的公司官网,(似乎随便填一个网址就好?)

 

(其中签名很容易出错,困扰我很久,签名很像MD5,也可以用官方提供的签名生成器生成,需提供包名,即Manifest中的包名。用生成器生成签名,必须使用:用你KeyStore打包成功后的apk在手机上运行,此时在签名生成器中输入你的包名,用此时生成器生成的签名申请key,测试也必须打包成apk再运行测试,否则不能分享,会出现“一闪”的情况(弹出微信界面瞬间又弹回应用界面),出现这种情况就是你的key有问题)

 

四、等待审核。。。。(大概1-2个工作日,这期间把代码啥的布置好)

导入架包 libammsdk.jar(开放平台下载)

在项目组新建包 com.xx.xx.wxapi(根据实际情况而定,最后必须是.wxapi结尾)

在包中新建类 WXEntryActivity(必须是这个名字)

在Manifest中注册

<activity

            android:name=".wxapi.WXEntryActivity"

            android:screenOrientation="portrait" >

        </activity>


代码如下: 

import android.app.Activity;

import android.os.Bundle;

import android.widget.Toast;

 

import com.tencent.mm.sdk.modelbase.BaseReq;

import com.tencent.mm.sdk.modelbase.BaseResp;

import com.tencent.mm.sdk.openapi.IWXAPI;

import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;

import com.tencent.mm.sdk.openapi.WXAPIFactory;

 

/** 微信客户端回调activity示例 */

public class WXEntryActivity extends Activity implements IWXAPIEventHandler {

// private static final String TAG = null;

// IWXAPI 是第三方app和微信通信的openapi接口

private IWXAPI api;

 

@Override

protected void onCreate(Bundle savedInstanceState) {

api = WXAPIFactory.createWXAPI(this, "申请的APPID"", false);

api.handleIntent(getIntent(), this);

super.onCreate(savedInstanceState);

}

 

@Override

public void onReq(BaseReq arg0) {

}

 

@Override

public void onResp(BaseResp resp) {

// LogManager.show(TAG, "resp.errCode:" + resp.errCode + ",resp.errStr:"

// + resp.errStr, 1);

switch (resp.errCode) {

case BaseResp.ErrCode.ERR_OK:

Toast.makeText(getApplicationContext(), "分享成功", 2000).show();

// 分享成功

break;

case BaseResp.ErrCode.ERR_USER_CANCEL:

Toast.makeText(getApplicationContext(), "分享取消", 2000).show();

// 分享取消

break;

case BaseResp.ErrCode.ERR_AUTH_DENIED:

Toast.makeText(getApplicationContext(), "分享成功", 2000).show();

// 分享拒绝

break;

}

}

}


在自己MainActivity中布局一个分享按钮,实现代码


主要代码为:

private IWXAPI wxApi;

 onCreate中

// 实例化

wxApi = WXAPIFactory.createWXAPI(context, "申请的APPID");

wxApi.registerApp("申请的APPID"");

 

如在“分享按钮”的点击触发事件中调用这两个方法即可。

wechatShare(0)//在需要的地方调用即可,0为好友分享,1为朋友圈

wechatShare(1)


public void wechatShare(int flag){  

    WXWebpageObject webpage = new WXWebpageObject();  

    webpage.webpageUrl = "分享的链接";  

    WXMediaMessage msg = new WXMediaMessage(webpage);  

    msg.title = "分享的标题";  

    msg.description = "分享的内容";  

    //这里替换一张自己工程里的图片资源  

    这个图片要注意了,如果你确信以上工作全部做好并且正确,但是依旧不能分享,出现的现象是,点击“分享”按钮没有任何反应,那么有很大的可能是图片问题了,查看一下你的图片是不是太大了,我分享的图片是114*114像素。此处注意,请查看各个drawable中是否有同名图片,如果有,要保证图片都不大(个人建议复制一个图片,重命名改下像素,专门用来此处分享)

    Bitmap thumb = BitmapFactory.decodeResource(getContentView().getResources(), R.drawable.app_icon);  

    msg.setThumbImage(thumb);  

      

    SendMessageToWX.Req req = new SendMessageToWX.Req();  

    req.transaction = String.valueOf(System.currentTimeMillis());  

    req.message = msg;  

    req.scene = flag==0?SendMessageToWX.Req.WXSceneSession:SendMessageToWX.Req.WXSceneTimeline;  

    wxApi.sendReq(req);  

}  


易信

易信分享跟微信极其相似,甚至,,,甚至key没有申请成功都能成功分享,这里不多介绍,详见Demo。(个人建议如果要倒腾分享,从微信开始)


Demo下载地址 http://download.youkuaiyun.com/detail/w283879367/8747639


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值