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

Android之微信分享

2016-05-06 14:46 579 查看

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.好了,到现在微信分享就可以了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: