博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android第三方应用分享图文到微信朋友圈 & 微信回调通知分享状态
阅读量:6259 次
发布时间:2019-06-22

本文共 2756 字,大约阅读时间需要 9 分钟。

第一步:去微信开放平台(https://open.weixin.qq.com/)创建应用,并拿到AppId。

第二步:导入微信支持jar文件

。。。这里假设读者已经了解一般的第三方API开发,一些步骤就省略了。

第三步:发送图文消息到微信朋友圈(按钮触发事件里加入以下代码,请确保应用签名与在开放平台注册的应用签名一致,且AppId也应该对应)

IWXAPI api = WXAPIFactory.createWXAPI(context, APP_ID, false);    api.registerApp(APP_ID);    WXWebpageObject webpage = new WXWebpageObject();    webpage.webpageUrl = "http://www.xxxx.com/wap/showShare/;//收到分享的好友点击会跳转到这个地址里面去    WXMediaMessage msg = new WXMediaMessage(webpage);    msg.title = "我要约";    msg.description = "我要约分享";    try    {      Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.send_img);      Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, 150, 150, true);      bmp.recycle();      msg.setThumbImage(thumbBmp);    }     catch (Exception e)    {      e.printStackTrace();    }    SendMessageToWX.Req req = new SendMessageToWX.Req();    req.transaction = String.valueOf(System.currentTimeMillis());    req.message = msg;    req.scene = SendMessageToWX.Req.WXSceneTimeline;    api.sendReq(req);

如果一切顺利,就会看到了文章开头类似的图片。

这时点击取消或分享没有任何提示。

第四步:加提示回调页面。

(1)新建一个包

规则是你的程序包名加wxapi【例如:com.xxx.wxapi】

(2)在新建的包里面添加一个类,WXEntryActivity.java,名字必须一致,这是微信开放平台规定的。

package com.xxx.wxapi;import android.app.Activity;import android.os.Bundle;import android.widget.Toast;import com.lbt.hairdesigner.R;import com.lbt.hairdesigner.utils.MySetting;import com.tencent.mm.sdk.openapi.BaseReq;import com.tencent.mm.sdk.openapi.BaseResp;import com.tencent.mm.sdk.openapi.IWXAPI;import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;import com.tencent.mm.sdk.openapi.WXAPIFactory;public class WXEntryActivity extends Activity implements IWXAPIEventHandler{  private IWXAPI api;  @Override  protected void onCreate(Bundle savedInstanceState)  {    super.onCreate(savedInstanceState);    api = WXAPIFactory.createWXAPI(this, APP_ID, false);    api.registerApp(APP_ID);    api.handleIntent(getIntent(), this);  }  @Override  public void onReq(BaseReq req)  {  }  @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(this, result, Toast.LENGTH_LONG).show();    finish();    overridePendingTransition(R.anim.change_in, R.anim.change_out);  }}

(3)string.xml中添加一些字符item

发送成功
发送取消
发送被拒绝
发送返回

(4)附上change_in.xml 和change_out.xml

最后:不管你在哪个地方调用第三步分享,微信都会有回调提示了。

转载地址:http://ksqsa.baihongyu.com/

你可能感兴趣的文章
前端开发——HTML学习笔记
查看>>
CSS
查看>>
从回归分析到数据挖掘
查看>>
UIImage imageNamed:误区
查看>>
常见异常及解决办法
查看>>
void QTableView::setColumnWidth ( int column, int width),隐藏列不起作用
查看>>
C# 语言规范_版本5.0 (第2章 词法结构)
查看>>
2018ICPC网络赛(焦作站)E题题解
查看>>
h5滑动插件(包含幻灯片滑动逻辑)
查看>>
ubuntu查看并杀死进程
查看>>
JavaWeb浏览器传值乱码
查看>>
第七十六课、多线程间的互斥(下)------------------狄泰软件学院
查看>>
mysql 配置MHA
查看>>
异常处理
查看>>
[Windows Azure] Getting Started with Windows Azure SQL Data Sync
查看>>
[Windows Azure] Using the Graph API to Query Windows Azure AD
查看>>
虚拟机 之 Fedora Core 5.0 用 Xen 虚拟Slackware 10.2
查看>>
创建自定义线程池
查看>>
android 代码设置图标背景色(圆形图标)和图标颜色
查看>>
Centos socket TCP代码
查看>>