时间:2023-05-14 09:24:01 | 来源:网站运营
时间:2023-05-14 09:24:01 来源:网站运营
MobTech ShareSDK Android端微信分享小程序:前言:首先要集成ShareSDK,集成步骤请查看这里
OnekeyShare oks = new OnekeyShare(); oks.setTitle("标题测试"); oks.setText("lalalla http://open.qq.com"); oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg"); oks.setUrl("http://open.qq.com"); oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() { @Override public void onShare(Platform platform, cn.sharesdk.framework.Platform.ShareParams paramsToShare) { if(platform.getName().equals("Wechat")){ paramsToShare.setShareType(Platform.SHARE_WXMINIPROGRAM);//分享小程序类型 paramsToShare.setWxUserName("gh_52568203455c");//配置小程序原始ID,前面有截图说明 paramsToShare.setWxPath("pages/index/index");//分享小程序页面的具体路径,前面截图从微信小程序开发工具中可以直接复制 } }); oks.setCallback(new PlatformActionListener() { @Override public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { Log.d("ShareSDK", "onComplete ----> 分享成功"); } @Override public void onError(Platform platform, int i, Throwable throwable) { Log.d("", "onError ----> 失败" + throwable.getStackTrace()); } @Override public void onCancel(Platform platform, int i) { Log.d("ShareSDK", "onCancel ----> 分享取消"); } }); oks.show(MobSDK.getContext());
Platform sina2 = ShareSDK.getPlatform(Wechat.NAME); ShareParams SP2 = new ShareParams(); SP2.setWxUserName("gh_52568203455c"); //小程序原始ID SP2.setWxPath("pages/index/index");//分享小程序页面路径 SP2.setTitle("标题分享"); SP2.setText("http://www.mob.com"); SP2.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg"); SP2.setUrl("http://www.baidu.com"); Wechat.ShareParams spa = new Wechat.ShareParams(); spa.setTitle("标题分享"); spa.setText("分享参数"); spa.setUrl("http://www.baidu.com"); spa.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg"); spa.setWxMiniProgramType(0);//分享小程序类型:0-正式,1-开发,2-体验 spa.setWxPath("pages/index/index");//分享小程序页面路径 spa.setWxUserName("gh_52568203455c");//小程序原始ID spa.setShareType(Platform.SHARE_WXMINIPROGRAM);//分享小程序类型 // 设置分享事件回调(注:回调放在不能保证在主线程调用,不可以在里面直接处理UI操作) weChat.setPlatformActionListener(new PlatformActionListener() { @Override public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { platform.getName(); Log.d("ShareSDK", "onComplete ----> 分享成功"); } @Override public void onError(Platform platform, int i, Throwable throwable) { Log.d("ShareSDK", "onError ----> 分享失败" + throwable.getStackTrace().toString()); } @Override public void onCancel(Platform platform, int i) { Log.d("ShareSDK", "onCancel ----> 分享取消"); } });// 执行图文分享 weChat.share(spa);
单独分享小程序代码如上,比原始分享仅多了两个参数,设置好分享类型即可,具体小程序原始ID,如何绑定可以看第一中的说明;setShareType(Platform.OPEN_WXMINIPROGRAM);//打开小程序
其他与第一步相同,点击按钮,就可以直接打开小程序了;public class WXEntryActivity extends WechatHandlerActivity { /** * 处理微信发出的向第三方应用请求app message * <p> * 在微信客户端中的聊天页面有“添加工具”,可以将本应用的图标添加到其中 * 此后点击图标,下面的代码会被执行。Demo仅仅只是打开自己而已,但你可 * 做点其他的事情,包括根本不打开任何页面 *///通过直接打开的微信小程序返回 public void onGetMessageFromWXReq(WXMediaMessage msg) { if (msg != null && msg.wxminiprogram_ext_msg != null) { Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName()); startActivity(iLaunchMyself); Log.e("ShareSDK", " WXEntryActivity onGetMessageFromWXReq ===> " + msg.wxminiprogram_ext_msg); WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject; Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show(); } } /** * 处理微信向第三方应用发起的消息 * <p> * 此处用来接收从微信发送过来的消息,比方说本demo在wechatpage里面分享 * 应用时可以不分享应用文件,而分享一段应用的自定义信息。接受方的微信 * 客户端会通过这个方法,将这个信息发送回接收方手机上的本demo中,当作 * 回调。 * <p> * 本Demo只是将信息展示出来,但你可做点其他的事情,而不仅仅只是Toast */ //通过网页模式微信小程序返回 public void onShowMessageFromWXReq(WXMediaMessage msg) { if (msg != null && msg.mediaObject != null && (msg.mediaObject instanceof WXAppExtendObject)) { WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject; Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show(); } }}
<!-- 微信分享回调 --> <activity android:name="项目包名.wxapi.WXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" />
如上所示,配置完回传的参数WXEntryActivity.java,在这个类中打开app即可,这样在小程序中打开app就可以跳转至该app中了,且可以获取到回传的参数。关键词:程序