android 微信分享

来源:互联网 发布:高等教育国家数据平台 编辑:程序博客网 时间:2024/05/18 13:10

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

  • 申请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;        }    }}
2 0
原创粉丝点击