Android之微信分享

本文介绍了如何在Android项目中实现微信分享功能。首先,需要在微信开放平台注册移动应用并填写正确的应用签名和包名。然后,通过下载的微信SDK进行代码配置,包括文字分享的实现和分享回调的处理。在AndroidManifest.xml中注册相应的Activity后,即可完成微信分享的集成。

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

Android之微信分享

现在的项目中要用到微信分享,弄了两天才弄好,开始的时候是下载微信的sdk和demo,将demo放到eclipse上跑起来后发现不能分享,都是一闪就结束程序了,后来发现我们要将demo中的APPID和报名替换成我们自己申请应用时的包名和APPID,之后就可以实现分享功能了。

1.注册微信的移动应用

   微信注册地址: 点击打开链接

   

点击图中的创建移动应用,在接下来的第二页中如下:

在应用签名和应用包名这两输入框要根据自己的实际填写,千万别瞎填。

应用签名:我们一般开发程序是用的都是debug.keystore,但是在我们打包程序发布的时候用的是我们正式的XXX.keystore或者是XXX.jks,eclipse用的是.keystore,as用的是.jks

1.在微信开发里有一个资源下载,从哪可以下载一个应用签名获取APK,将他下载到手机,同时将我们的程序安装到手机中,使用这个APK就可以获取到签名,但是一般这个签  名是debug的,不可以正式打包发布时使用,正式打包时,可以用我们自己的keystore获取签名。

2.包名可以从manafest.xml文件中获取;

2.代码简单分析

1.文字分享:

 public void shareText2WX(String str, int flag) {
        WXTextObject textObject = new WXTextObject();
        textObject.text = str;
        WXMediaMessage wxMediaMessage = new WXMediaMessage();
        wxMediaMessage.mediaObject = textObject;
        wxMediaMessage.description = str;
        SendMessageToWX.Req req = new SendMessageToWX.Req();
        req.transaction = buildTransaction("text");
        req.message = wxMediaMessage;
        switch (flag) {
            case 1:
                req.scene = SendMessageToWX.Req.WXSceneSession; // 好友
                break;
            case 2:
                req.scene = SendMessageToWX.Req.WXSceneTimeline; // 朋友圈
                break;
        }
        iwxapi.sendReq(req);
    }

这段代码是从微信分享demo中直接拿出来用的,他只是文字分享,其他的如:网页分享,图片分享,音乐分享,视频分享,和上边相同,直接拿出来,稍微改改就可以了。


2.分享回调

public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
    private IWXAPI api;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        api = WXAPIFactory.createWXAPI(this,
                Constances.WX_APPKEY, false);
        api.handleIntent(getIntent(), this);

    }

    @Override
    public void onReq(BaseReq arg0) {

    }

    @Override
    public void onResp(BaseResp resp) {
        int result = 0;

        switch (resp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
                result = R.string.errcode_success;
                break;
            case BaseResp.ErrCode.ERR_USER_CANCEL:
                result = R.string.errcode_cancel;
                break;
            case BaseResp.ErrCode.ERR_AUTH_DENIED:
                result = R.string.errcode_deny;
                break;
            default:
                result = R.string.errcode_unknown;
                break;
        }

        Toast.makeText(WXEntryActivity.this, result, Toast.LENGTH_LONG).show();

        // TODO 微信分享 成功之后调用接口
        this.finish();
    }
}
在我们的包里边,建一个包名为wxapi的包,在这个包里边建一个WXEntryActivity的类继承activity,实现IWXAPIEventHandler接口,

在manafest.xml里注册Activity:

<activity
            android:name=".wxapi.WXEntryActivity"
            android:exported="true"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent" />

3.好了,到现在微信分享就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值