您的位置:首页 > 移动开发 > 微信开发

android 微信分享

2016-12-01 17:14 162 查看
最近开发用到了微信分享,写个博客梳理一下。

申请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;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  微信 jar