Android调用第三方的微信分享功能
来源:互联网 发布:淘宝怎么延长付款时间 编辑:程序博客网 时间:2024/05/18 00:14
一、到微信开放平台申请APPID
1、到开放平台申请之前,把打包好的apk装在自己的手机。
2、在手机装一个生成应用签名工具。
3、将应用包名写在文本框里面,点击按钮生成MD5。非常重要,应用包名不能写错。
4、再到开放平台创建移动时,将生成的MD5写在应用签名文本框,并且在开放平台应用包名要跟你现在填写的应用包名要一致。
5、提交审核。
6、开放平台会返回APPID和APPSecret。开发者可以根据它的APPID去调用微信的接口。
二、官网下载libammsdk.jar包
1、将libammsdk.jar复制到工程的libs目录。
2、该包是用于实现与微信的通信。
三、在需要分享的Activity编写代码
private IWXAPI wxApi;
//实例化
wxApi = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID);
wxApi.registerApp(Constants.WX_APP_ID);
/**
* 微信分享 (这里仅提供一个分享网页的示例,其它请参看官网示例代码)
* @param flag(0:分享到微信好友,1:分享到微信朋友圈)
*/
private void wechatShare(int flag){
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = "这里填写链接url";
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = "这里填写标题";
msg.description = "这里填写内容";
//这里替换一张自己工程里的图片资源
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.share_logo);
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;
wxApi.sendReq(req);
}
//在需要分享的地方添加代码:
wechatShare(0);//分享到微信好友
wechatShare(1);//分享到微信朋友圈
//实例化
wxApi = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID);
wxApi.registerApp(Constants.WX_APP_ID);
/**
* 微信分享 (这里仅提供一个分享网页的示例,其它请参看官网示例代码)
* @param flag(0:分享到微信好友,1:分享到微信朋友圈)
*/
private void wechatShare(int flag){
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = "这里填写链接url";
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = "这里填写标题";
msg.description = "这里填写内容";
//这里替换一张自己工程里的图片资源
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.share_logo);
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;
wxApi.sendReq(req);
}
//在需要分享的地方添加代码:
wechatShare(0);//分享到微信好友
wechatShare(1);//分享到微信朋友圈
四、在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,实现IWXAPIEventHandler接口
/** 微信客户端回调activity示例 */
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
// IWXAPI 是第三方app和微信通信的openapi接口
private IWXAPI api;
@Override
protected void onCreate(Bundle savedInstanceState) {
api = WXAPIFactory.createWXAPI(this, "这里替换第一步申请的APP_ID", false);
api.handleIntent(getIntent(), this);
super.onCreate(savedInstanceState);
}
@Override
public void onReq(BaseReq arg0) { }
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
// IWXAPI 是第三方app和微信通信的openapi接口
private IWXAPI api;
@Override
protected void onCreate(Bundle savedInstanceState) {
api = WXAPIFactory.createWXAPI(this, "这里替换第一步申请的APP_ID", false);
api.handleIntent(getIntent(), this);
super.onCreate(savedInstanceState);
}
@Override
public void onReq(BaseReq arg0) { }
@Override
public void onResp(BaseResp resp) {
LogManager.show(TAG, "resp.errCode:" + resp.errCode + ",resp.errStr:"+ resp.errStr, 1);
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
//分享成功
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
//分享取消
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
//分享拒绝
break;
}
}
}
public void onResp(BaseResp resp) {
LogManager.show(TAG, "resp.errCode:" + resp.errCode + ",resp.errStr:"+ resp.errStr, 1);
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
//分享成功
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
//分享取消
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
//分享拒绝
break;
}
}
}
五、配置清单文件AndroidManifest.xml
<activity
android:name=".wxapi.WXEntryActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
android:name=".wxapi.WXEntryActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
六、签名打包软件,然后可以测试了
0 0
- Android调用第三方的微信分享功能
- android studio 配置打包签名apk,完成微信等的第三方分享功能
- 集成微信的第三方分享
- [Android]不经过第三方SDK直接调用系统自带分享QQ、微信
- Android 调用系统分享(不使用第三方),指定QQ、微信等
- 微信第三方分享
- ionic第三方QQ,微博,微信的登录,分享功能的实现和注意事项
- 第三方集成微信登录、分享等功能的sdk
- Android 第三方QQ、微信、微博登录分享
- Android-studio原生微信第三方登录、分享
- 关于第三方应用(Android平台)通过微信分享文字、图片的问题研究。
- Android:QQ分享、微信分享、朋友圈分享(不使用第三方SDK)
- Android:QQ分享、微信分享、朋友圈分享(不使用第三方SDK)
- Android:QQ分享、微信分享、朋友圈分享(不使用第三方SDK)
- 第三方分享微信分享、朋友圈分享之iOS开发/Android开发
- 微信第三方登陆 与分享
- QQ 微信 第三方登录 分享
- 第三方 ShareSdk QQ、微信分享
- QML官方系列教程——Qt Quick Controls Overview
- html5在移动端的屏幕适应性问题
- android中bitmap压缩的几种方法的解读
- 控制台应用程序——随机数
- Android基础之----junit测试
- Android调用第三方的微信分享功能
- WEB版学生成绩管理
- linux内核内存管理学习之一(基本概念,分页及初始化)
- Gradle入门
- Binary Tree Inorder Traversal
- [转载]谈数据库索引和Sqlite中索引的使用
- Android常用开源组件汇总
- Qt编程4:QSettings使用一(windows注册表的读写:实际操作)
- TCP+UDP通信实验