Androidstudio集成微信分享网页
来源:互联网 发布:设计师用的软件 编辑:程序博客网 时间:2024/05/22 00:13
#AndroidStudio集成微信分享网页
##首先在微信开放平台创建应用,按照官网提示填写正确基本的信息
##然后填写平台信息,应用签名通过官网提供的签名工具生成,包名即是Android应用代码中的包名。填写完成之后,提交审核,等待应用审核通过之后获取到该应用的APPID等信息然后就可以进行开发了:
###1.下载微信的SDK,在Android studio中只需在build.gradle中添加依赖即可dependecices{compile ‘com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+’}
###2.在Android程序中的androidmanifests.xml文件中添加权限支持到这里,前期准备工作已经完成了,接下来即是代码的编写过程了首先编写两个按钮用来测试
###接下来建立一个wxapi包,在包下建立一个WXEntryActivity类!
下面是我的分享代码(仅供参考):
布局文件Activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.su.sharetowx.MainActivity">
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/hy"
android:onClick="hy"
android:text="分享到好友"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pyq"
android:onClick="pyq"
android:text="分享到朋友圈"/>
</LinearLayout>
WXEntryActivity:
package com.su.sharetowx.wxapi;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
/**
*Created by Su on 2017/8/12.
*/
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IWXAPI api = WXAPIFactory.createWXAPI(this, "wx632deb0f8a31c686", false);
api.handleIntent(getIntent(),this);
finish();
}
@Override
public void onReq(BaseReq baseReq) {
}
@Override
public void onResp(BaseResp baseResp) {
String result;
switch (baseResp.errCode) {
case BaseResp.ErrCode.ERR_OK:
result = "分享成功";
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
result = null;
break;
default:
result = "分享失败";
break;
}
if (result != null) {
Toast.makeText(this, baseResp.errCode + result, Toast.LENGTH_SHORT).show();
}
}}
MainActivity:
package com.su.sharetowx;
/**
*Created by Su on 2017/8/12.
*/
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
import com.tencent.mm.opensdk.modelmsg.WXWebpageObject;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import java.io.ByteArrayOutputStream;
public class MainActivity extends AppCompatActivity {
private IWXAPI api;
private static final int THUMB_SIZE = 150;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
api = WXAPIFactory.createWXAPI(this, "你的APPID", false);
api.registerApp("你的APPID");//将应用注册到微信开放平台
}
public void hy(View v){
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = "分享的网址";
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = "分享的标题";
msg.description ="分享的详情";
Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, THUMB_SIZE, THUMB_SIZE, true);
bmp.recycle();//将分享的图片转化为bitmap
msg.thumbData = bmpToByteArray(thumbBmp, true);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("webpage");//webpage为网页分享,其他请参考官网
req.message = msg;
req.scene = 0;//0是分享到好友,1是分享到朋友圈
api.sendReq(req);//将分享的信息调用api中的send方法发送到微信中
finish();
}
public void pyq(View v){
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = "分享的网址";
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = "分享的标题";
msg.description ="分享的详情";
Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
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 = buildTransaction("webpage");
req.message = msg;
req.scene = 1;
api.sendReq(req);
finish();
}
/*bitmap转换为byte*/
public static byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) {
ByteArrayOutputStream output = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, output);
if (needRecycle) {
bmp.recycle();
}
byte[] result = output.toByteArray();
try {
output.close();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
private String buildTransaction(final String type) {
return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis(); }}
到这里微信分享已经完成啦,就可以该项目可以跑起来啦。微信开放平台demo下载以及签名工具下载地址:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=2449f19fa7a7e5b926ab1d92eb95450ac6b02b87&lang=zh_CN
需要注意的地方:
1.应用中的包名签名一定要与平台上的一致
2.当你的应用在重新审核后,但是因为资料的原因导致审核未通过,这是您的应用以审核之前的状态在运行,这个时候修改包名签名是不生效的,虽然平台上显示是修改成功的
- Androidstudio集成微信分享网页
- 微信网页分享JS-SDK的集成使用
- android集成微信分享
- 微信分享集成示例
- android集成微信分享
- AndroidStudio怎么实现微信分享功能
- 微信网页分享代码
- ios 微信分享,QQ分享,微博分享集成
- AndroidStudio集成ShareSDK社会化分享
- 集成微信分享功能-总结
- 微信分享的原生集成
- 集成微信的第三方分享
- 安卓 -- 微信分享集成
- Android开发集成微信分享
- android快速集成微信分享&&支付
- AndroidStudio用微信官方方法接入微信分享功能
- 微信网页内分享设置
- 微信分享网页失败的原因
- AngularJs-指令<ng-**>
- Android Fragment 从源码的角度去解析(下)
- Android gradle build Thread(png-cruncher_7): Stream closed java.io.IOException: Stream closed
- ZOJ
- LintCode 解题记录17.4.27
- Androidstudio集成微信分享网页
- How Many Maos Does the Guanxi Worth
- getRealPath()和getContextPath()的区别
- 数据结构与算法--快速排序
- CCF NOI1071 Pell数列
- 编程序找出1000之内的所有完数
- 树中的最长路
- Java常见异常和解决办法
- caffe学习笔记---5 -caffe网络层类型