分享到微信 android,android原生分享到微信好友和微信朋友圈

ps: 个人使用的环境是mac电脑,android studio 3.0;

到微信公众平台申请应用账号

申请流程,按照要求认真填写

f2696caa0c3f

image.png

f2696caa0c3f

image.png

f2696caa0c3f

image.png

申请通过之后,查看应用详情会看到有一个appId,这个要记住,后面会用到

f2696caa0c3f

image.png

生成上面需要填写应用签名

创建一个keystore文件,这个keystore文件要记住,后面会用到

```

keytool -genkey -alias wx_share -keyalg RSA -validity 10000 -keystore wx_share.keystore

```

f2696caa0c3f

image.png

f2696caa0c3f

image.png

f2696caa0c3f

image.png

上面步骤会得到wx_share.keystore文件,通过以下命令查看该文件的md5值

f2696caa0c3f

image.png

ps: 其实我们在申请的时候,需要填写的应用签名就是该md5值转成小写,并且去掉中间的冒号就得到了

我们通过以下方式进行验证,先创建一个android应用

f2696caa0c3f

image.png

使用上面我们生成的keystore文件签名该应用得到apk文件,并安装到手机上面

f2696caa0c3f

image.png

f2696caa0c3f

image.png

用签名生成工具查看应用的签名

f2696caa0c3f

image.png

我们看到上面得到的签名就是我们之前说的md5转成小写,并且去掉中间的分号的到的,把该签名拷贝到我们注册的时候需要的填写的签名的地方就可以了

到这里我们就完成注册了,下面要用原生实现分享到微信好友或者朋友圈了

应用程序配置微信分享相关配置

在AndroidManifest.xml配置相关权限

f2696caa0c3f

image.png

下载微信SDK

在build.gradle文件中,添加如下依赖即可

f2696caa0c3f

image.png

```

dependencies {

compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'

}

```

重新编译依赖文件

f2696caa0c3f

image.png

分享web网页到朋友圈或者好友

编码过程

public class MainActivity extends AppCompatActivity {

private static final int THUMB_SIZE = 150; //设置分享到朋友圈的缩略图宽高大小

private static final String APP_ID = "wx17fa470c77da3077"; //应用appId,就是我们注册应用成功之后得到的appId

private IWXAPI api;

private Button btnShare;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

api = WXAPIFactory.createWXAPI(this, APP_ID, true);//创建一个实例

api.registerApp(APP_ID);//注册实例

btnShare = (Button) findViewById(R.id.btn_share);//获取页面中的某个按钮

btnShare.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

new Thread(new Runnable() {//创建一个子线程

@Override

public void run() {

try{

//远程获取的缩略图的图片地址

String url = "http://weixin.qq.com/zh_CN/htmledition/images/weixin/weixin_logo20f761.png";

WXWebpageObject webpage = new WXWebpageObject();

webpage.webpageUrl = "http://www.baidu.com";//分享出去的网页地址

WXMediaMessage msg = new WXMediaMessage(webpage);

msg.title = "标题";//分享的标题

msg.description = "描述";//分享的描述信息

//获取网络图片资源

Bitmap bmp = BitmapFactory.decodeStream(new URL(url).openStream());

//创建缩略图

Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, THUMB_SIZE, THUMB_SIZE, true);

bmp.recycle();

msg.thumbData = bmpToByteArray(thumbBmp, true);

SendMessageToWX.Req req = new SendMessageToWX.Req();

req.transaction = String.valueOf(System.currentTimeMillis());

req.message = msg;

req.scene = SendMessageToWX.Req.WXSceneSession;//分享到微信好友

//req.scene = SendMessageToWX.Req.WXSceneTimeline;//分享到微信朋友圈

api.sendReq(req);

}catch (Exception e) {

e.printStackTrace();

}

}

}).start();

}

});

}

public static byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) {

ByteArrayOutputStream output = new ByteArrayOutputStream();

bmp.compress(Bitmap.CompressFormat.JPEG, 100, output);

if (needRecycle) {

bmp.recycle();

}

byte[] result = output.toByteArray();

try {

output.close();

} catch (Exception e) {

e.printStackTrace();

}

return result;

}

f2696caa0c3f

image.png

运行应用

当编码完成之后,我们需要运行项目,这里有个主意点要主意,我们运行的时候android studio默认用的是默认的debug.keystore文件,并不是我们之前的创建的,所以我们要修改默认签名文件,过程如下

f2696caa0c3f

image.png

上面我们已将创建了release配置文件,我们现在修改默认的debug.keystore文件为我们刚刚创建的

f2696caa0c3f

image.png

将项目运行到我们手机上面,然后点击分享按钮,发现已经调起微信分享了

f2696caa0c3f

image.png

到这里,android原生调用微信分享已经可以了,我们可以把该功能封装成cordova插件,详情请看该文章

### 如何在 UniApp 中实现消息或页面转发至企业微信 #### 实现方法概述 为了实现在 UniApp 应用中将消息或页面转发给企业微信,开发者需利用 `uni.share` API 或者更具体的企业微信分享接口。对于企业微信而言,通常会涉及到配置应用的安全域名以及使用特定的 SDK 来完成分享操作。 #### 使用 uni.share 方法 当目标平台为企业微信时,可以通过设置参数来指定要共享的内容: ```javascript uni.share({ provider: "weixin", // 这里应替换为对应于企业微信的具体provider名称 scene: "WXSceneSession", type: 0, href: 'https://example.com', // 被分享网页url title: '这是一个测试标题', summary: '这是描述信息...', imageUrl: '', success: function () { console.log('share success'); }, fail: function (err) { console.error(JSON.stringify(err)); } }); ``` 需要注意的是,上述代码中的 `provider` 参数应当被调整成适用于企业微信的有效值[^1]。 #### 获取并集成企业微信 JS-SDK 除了标准的 `uni.share()` 接口外,如果希望获得更加定制化的体验,则可能需要引入官方提供的 JavaScript SDK 并按照其说明文档进行初始化权限验证等工作。这一步骤涉及到了解如何注册第三方应用、获取 access_token jsapi_ticket 等必要步骤[^2]。 #### 关键点提示 - **安全域名校验**:确保所使用的 URL 已经通过了企业微信后台管理系统的白名单审核。 - **环境适配性**:考虑到不同版本间可能存在差异,建议始终参照最新版的企业微信开放平台指南来进行开发工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值