基本信息
源码名称:android 分享到微信/朋友圈 示例代码
源码大小:2.68M
文件格式:.zip
开发语言:Java
更新时间:2016-06-14
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

package com.example.wechatsharedemo.activity;

import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;

import com.example.wechatsharedemo.R;
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;

public class MainActivity extends Activity {

	private LinearLayout llShare;
	public static final String ABOUT_WEB_URL = "http://www.cloudfootball.com.cn/app-about";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO 自动生成的方法存根
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initView();
	}

	private void initView() {
		// TODO 自动生成的方法存根
		llShare = (LinearLayout) findViewById(R.id.ll_share);
		llShare.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO 自动生成的方法存根
				dlgShare.show();
			}
		});

		initShareDlg();
	}

	/*----------分享到微信好友、朋友圈----------*/

	private Dialog dlgShare;

	private void initShareDlg() {
		// TODO 自动生成的方法存根
		/* 设置对话框样式 */
		View root = getLayoutInflater().inflate(R.layout.dlg_share_way, null);
		dlgShare = new Dialog(this, R.style.CustomDialogTheme);
		dlgShare.setContentView(root);

		/* 设置对话框宽高 */
		Window window = dlgShare.getWindow();
		WindowManager.LayoutParams lp = window.getAttributes();
		lp.height = LayoutParams.WRAP_CONTENT;
		lp.width = LayoutParams.MATCH_PARENT;
		window.setAttributes(lp);

		window.setGravity(Gravity.BOTTOM); // 设置对话框位置
		window.setWindowAnimations(R.style.CustomDialogAnim);// 设置对话框动画

		root.findViewById(R.id.tv_wechat_friend).setOnClickListener(
				new OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO 自动生成的方法存根
						dlgShare.dismiss();
						shareToWeChat(ABOUT_WEB_URL   "?&", WX_SCENE_SESSION);
					}
				});

		root.findViewById(R.id.tv_wechat_timelinde).setOnClickListener(
				new OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO 自动生成的方法存根
						dlgShare.dismiss();
						shareToWeChat(ABOUT_WEB_URL   "?&", WX_SCENE_TIMELINE);
					}
				});

		root.findViewById(R.id.tv_quit_share).setOnClickListener(
				new OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO 自动生成的方法存根
						dlgShare.dismiss();
					}
				});
	}

	public static final String APP_ID = "wxd7f6861481765b04";
	public static final int WX_SCENE_SESSION = 0;
	public static final int WX_SCENE_TIMELINE = 1;

	public void shareToWeChat(String url, int scene) {

		// 获取IWXAPI实例,IWXAPI是第三方app和微信通信的openapi接口
		IWXAPI api = WXAPIFactory.createWXAPI(getApplicationContext(), APP_ID,
				false);
		// 将应用的appId注册到微信
		api.registerApp(APP_ID);

		// 网页
		WXWebpageObject webPageObj = new WXWebpageObject();
		webPageObj.webpageUrl = url;

		// 用WXTextObject对象初始化一个WXMediaMessage对象
		WXMediaMessage msg = new WXMediaMessage();
		// msg.mediaObject = textObj;
		msg.mediaObject = webPageObj;
		// 发送文本类型的消息时,title字段不起作用
		msg.title = "云球-专业足球App";
		msg.description = "专业足球的数据统计,深入草根的社交平台,数据、足球连接你我";

		// 构造一个Req
		SendMessageToWX.Req req = new SendMessageToWX.Req();
		req.transaction = String.valueOf(System.currentTimeMillis()); // transaction字段用于唯一标识一个请求
		req.message = msg;
		if (scene == WX_SCENE_SESSION)
			req.scene = SendMessageToWX.Req.WXSceneSession; // 微信好友
		else if (scene == WX_SCENE_TIMELINE)
			req.scene = SendMessageToWX.Req.WXSceneTimeline; // 朋友圈

		// 调用api接口发送数据到微信
		api.sendReq(req);
	}

}