微信SDK实现分享
准备工作:
首先-- -》 去微信官网注册自己的应用 https://open.weixin.qq.com/
注意 包名 一定要与自己的应用包名一致!!
因为创建应用的时候需要填写 应用的签名 所以需要去生成签名
签名生成需要下载下图 签名生成工具 ,将工具安装之后 输入应用包名 点击生成 将获取到的签名填写到官网签名处 然后等待认证
微信官网应用通过审核之后 会获取到appid 将appid保存下来 一会项目中会用到的
然后 去
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=59730cb292a0861f7ea84c9d8673bc83e7823702&lang=zh_CN
下载 SDK 将jar包解压之后 将libammsdk
放在项目libs目录下 并右键 build as library
好了 前面工作做好之后
以下是实现代码
首先是一个简单布局界面 只有两个按钮 发送到好友和朋友圈
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_wei_xin_share_test" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="ht.testxyapp.com.testapp.activity.WeiXinShareTestActivity"> <Button android:id="@+id/btnShare" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="分享到微信好友" /> <Button android:id="@+id/btnShareGroup" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:text="分享到微信朋友圈" /> </LinearLayout>
然后是MainActivity.java
package ht.testxyapp.com.testapp.activity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import com.tencent.mm.sdk.openapi.IWXAPI; import com.tencent.mm.sdk.openapi.SendMessageToWX; import com.tencent.mm.sdk.openapi.WXAPIFactory; import com.tencent.mm.sdk.openapi.WXMediaMessage; import com.tencent.mm.sdk.openapi.WXWebpageObject; import ht.testxyapp.com.testapp.R; public class WeiXinShareTestActivity extends AppCompatActivity { IWXAPI wxApi = null; private String APP_ID = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wei_xin_share_test); Button btnShare = (Button) findViewById(R.id.btnShare); Button btnShareGroup = (Button) findViewById(R.id.btnShareGroup); // 分享到好友 btnShare.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { wxApi = WXAPIFactory.createWXAPI(WeiXinShareTestActivity.this,APP_ID,true); wxApi.registerApp(APP_ID); String url = ""; String title = ""; String descrption = ""; WeixinChatShare(url,title,descrption,0); } }); // 分享到朋友圈 btnShareGroup.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { wxApi = WXAPIFactory.createWXAPI(WeiXinShareTestActivity.this,APP_ID,true); wxApi.registerApp(APP_ID); String url = ""; String title = ""; String descrption = ""; WeixinChatShare(url,title,descrption,1); } }); } private void WeixinChatShare (String shareurl,String title,String description,int flag){ WXWebpageObject webPage = new WXWebpageObject(); webPage.webpageUrl = shareurl; WXMediaMessage msg = new WXMediaMessage(webPage); msg.title = title; msg.description = description; 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); } }
ok 上面就是所有的实现代码了
若需要使用,只需要将上面的APP_ID替换一下就好了!