android 微信分享

最近开发用到了微信分享,写个博客梳理一下。

  • 申请APPID

    wxc5d8ca348955ced1

  • 导入jar包

    libammsdk.jar

  • Manifest.xml文件添加权限

<uses-permission android:name="android.permission.INTERNET"/>   
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>   
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>   
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>  
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>   
  • 代码示例
    private IWXAPI api;

注册APP_ID

api = WXAPIFactory.createWXAPI(this, APP_ID);
api.registerApp(APP_ID);

分享到朋友圈 flag:0好友,1朋友圈。

private void weChatshare(int flag) {
    //判断是否按照微信客户端
        if (!api.isWXAppInstalled()) {
            showToast(getString(R.string.no_install_wechat_cli));
            return;
        }
        WXWebpageObject webpage = new WXWebpageObject();
        webpage.webpageUrl = AccountManager.DOWNLOAD_URL;
        WXMediaMessage msg = new WXMediaMessage(webpage);
        msg.title = getString(R.string.app_name);
        msg.description = getString(R.string.share_description_text);
        Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.ic);
        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;
        api.sendReq(req);
    }

分享回调

Manifest.xml文件配置

<activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboard|keyboardHidden|orientation"
            android:exported="true"
            android:launchMode="singleInstance"
            android:screenOrientation="portrait"/>

在工程目录下创建wxapi文件夹,然后创建WXEntryActivity.java文件

public class WXEntryActivity extends BaseActivity implements IWXAPIEventHandler {
    private IWXAPI api;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_wx);
        api = WXAPIFactory.createWXAPI(this, Constants.APP_ID,false);
        api.handleIntent(getIntent(), this);
    }
    @Override
    public void onReq(BaseReq arg0) {
    }

    @Override
    public void onResp(BaseResp resp) {
        switch (resp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
                showToast("分享成功");
                System.out.println("success");
                this.finish();
                //分享成功
                break;
            case BaseResp.ErrCode.ERR_USER_CANCEL:
                //分享取消
                showToast("分享取消");
                System.out.println("ERR_USER_CANCEL");
                this.finish();
                break;
            case BaseResp.ErrCode.ERR_AUTH_DENIED:
                showToast("分享拒绝");
                System.out.println("ERR_AUTH_DENIED");
                this.finish();
                //分享拒绝
                break;
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值