1、build.gradle下添加微信sdk依赖
compile ('com.xyzlf.share:sharesdk:0.0.10') {exclude group: 'com.android.support', module: 'appcompat-v7'
}
2、MainActivity文件夹下创建wxapi文件夹WXEntryActivity类,并配置到manifest里面:
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {private IWXAPI api;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);api = WXAPIFactory.createWXAPI(this, ManifestUtil.getWeixinKey(this), false);api.handleIntent(getIntent(), this);}@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);api.handleIntent(intent, this);}@Overridepublic void onReq(BaseReq req) {}@Overridepublic void onResp(BaseResp resp) {Intent intent = new Intent();intent.setAction(ShareConstant.ACTION_WEIXIN_CALLBACK);intent.putExtra(ShareConstant.EXTRA_WEIXIN_RESULT, resp.errCode);sendBroadcast(intent);finish();}
}
<!-- 微信分享注册 -->
<activityandroid:name=".wxapi.WXEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar" />
3、分享工具类,这里注册 微信开放平台 的AppID,即可分享
/*** 作者:created by meixi* 邮箱:13164716840@163.com* 日期:2018/9/20 08*/public class ShareUtil {public static int SHARE_WX_FRIEND = 1;//分享给微信好友public static int SHARE_WX_CIRCLE = 2;//分享到朋友圈public static int SHARE_WEI_BO = 3;public static int SHARE_QQ = 4;private static final int THUMB_SIZE = 150;private static final String strDreamUrl = "http://api.zhenhuaonline.com/home/share/dream?id=";private static final String strZhenHuaUrl = "http://www.zhenhuaonline.com/app";private static ShareUtil INSTANCE;/*** 微信API*/private static IWXAPI apiWX;/*** 微博分享的接口实例*/
// private static IWeiboShareAPI mWeiboShareAPI;private static int nDreamID;/*** qq*/private static Tencent mTencent;private static Activity activity;private int nShareType;//标题private String strTitle;//详情private String strDetail;//图片地址URLprivate String strImageUrl;public static ShareUtil getInstance(Activity activity, int nDreamID) {Log.v("lg","分享。。。。。ShareUtil getInstance(Activity activity, int nDreamID) ");if (INSTANCE == null)INSTANCE = new ShareUtil();ShareUtil.activity = activity;ShareUtil.nDreamID = nDreamID;init();return INSTANCE;}public static ShareUtil getMap(Activity activity,Bitmap bitmap){return INSTANCE;}private static void init() {apiWX = WXAPIFactory.createWXAPI(activity, "wxe6be244abe90a087");//换为你AppID即可Log.i("lgq","....7777777777777..="+apiWX);
// apiWX.registerApp("wxe6be244abe90a087");// 创建微博 SDK 接口实例
// mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(activity, ThirdKey.WB_APP_KEY);// 注册到新浪微博
// mWeiboShareAPI.registerApp();// mTencent = Tencent.createInstance(ThirdKey.QQ_APP_ID, activity);}/*** 获取微信API*/public static IWXAPI getApiWX() {return apiWX;}/*** 获取微博API*/
// public static IWeiboShareAPI getmWeiboShareAPI() {
// return mWeiboShareAPI;
// }/*** 设置标题*/public ShareUtil setTitle(String strTitle) {INSTANCE.strTitle = strTitle;return INSTANCE;}/*** 设置内容*/public ShareUtil setDetail(String strDetail) {INSTANCE.strDetail = strDetail;return INSTANCE;}/*** 设置图片地址*/public ShareUtil setImageUrl(String strImageUrl) {INSTANCE.strImageUrl = strImageUrl;return INSTANCE;}/*** 设置分享类型*/public ShareUtil setShareType(int nShareType) {INSTANCE.nShareType = nShareType;return INSTANCE;}public void share(More_LoadDialog loadingDialog) {Log.i("lg","分享。。。。。ShareUtil++++share(LoadingDialog loadingDialog)");if (nShareType == SHARE_WX_CIRCLE || nShareType == SHARE_WX_FRIEND) {shareWX(loadingDialog);} else if (nShareType == SHARE_WEI_BO) {
// shareWB(loadingDialog);} else if (nShareType == SHARE_QQ) {
// shareQQ(loadingDialog);}}/*** 微信分享*/private void shareWX(More_LoadDialog loadingDialog) {if (apiWX.isWXAppInstalled()) {loadingDialog.show();Log.i("lg","微信分享。。。。。111111111");// 构造一个ReqSendMessageToWX.Req req = new SendMessageToWX.Req();WXMediaMessage msg = new WXMediaMessage(new WXWebpageObject(nDreamID == 0 ? strZhenHuaUrl : strDreamUrl + String.valueOf(nDreamID)));//分享链接msg.description = nShareType == SHARE_WX_CIRCLE ? activity.getString(R.string.app_name) : strDetail;//分享描述msg.title = nShareType == SHARE_WX_CIRCLE ? strDetail : activity.getString(R.string.app_name);//分享标题,(应用名称)msg.setThumbImage(BitmapFactory.decodeResource(activity.getResources(), R.mipmap.em_dx_checkbox_on));//分享图片Log.i("lg", "微信分享。。。。。222222221");req.transaction = buildTransaction(activity.getPackageName()); // transaction字段用于唯一标识一个请求req.message = msg;req.scene = nShareType == SHARE_WX_CIRCLE ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;Log.i("lg","微信分享。。。。。3333333");apiWX.sendReq(req);} else{
// ToastUtil.showToastShort(R.string.error_third_no_wechat);}}/*** 分享到微博*/
// private void shareWB(LoadingDialog loadingDialog) {
// if (mWeiboShareAPI.isWeiboAppInstalled() && mWeiboShareAPI.getWeiboAppSupportAPI() >= 10351) {
// loadingDialog.show();
//
// WeiboMultiMessage weiboMessage = new WeiboMultiMessage();
//
// TextObject textObject = new TextObject();
// textObject.text = strDetail + (nDreamID == 0 ? strZhenHuaUrl : strDreamUrl + String.valueOf(nDreamID));
//
// weiboMessage.textObject = textObject;
// SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest();
// request.transaction = String.valueOf(System.currentTimeMillis());
// request.multiMessage = weiboMessage;
// // 3. 发送请求消息到微博,唤起微博分享界面
// mWeiboShareAPI.sendRequest(activity, request);
// } else
// ToastUtil.showToastShort(R.string.error_third_no_weibo);
// }private String buildTransaction(final String type) {return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();}/*** QQ分享*/
// private void shareQQ(More_LoadDialog loadingDialog) {
// Log.v("lg","分享。。。。。ShareUtil++++shareQQ(LoadingDialog loadingDialog)");
// final Bundle params = new Bundle();
// params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT);
// params.putString(QQShare.SHARE_TO_QQ_TITLE, activity.getString(R.string.app_name));
// params.putString(QQShare.SHARE_TO_QQ_SUMMARY, strDetail);
// params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, nDreamID == 0 ? strZhenHuaUrl : strDreamUrl + String.valueOf(nDreamID));
// params.putString(QQShare.SHARE_TO_QQ_APP_NAME, activity.getString(R.string.app_name));
//
// //监听
// IUiListener uiListener = new IUiListener() {
// @Override
// public void onComplete(Object o) {
// ToastUtil.showToastShort(R.string.errcode_success);
// }
//
// @Override
// public void onError(UiError uiError) {
// ToastUtil.showToastShort(R.string.errcode_deny);
// }
//
// @Override
// public void onCancel() {
// ToastUtil.showToastShort(R.string.errcode_cancel);
// }
// };
//
// if (mTencent.isSupportSSOLogin(activity)) {
// loadingDialog.show();
// mTencent.shareToQQ(activity, params, uiListener);
// } else
// ToastUtil.showToastShort(R.string.error_third_no_qq);
// }/*** 系统分享** @param mContext* @param strDetail*/public static void systemShare(Context mContext, String strDetail) {Intent sendIntent = new Intent();sendIntent.setAction(Intent.ACTION_SEND);sendIntent.putExtra(Intent.EXTRA_TEXT, strDetail + "\n" + strZhenHuaUrl);sendIntent.setType("text/plain");mContext.startActivity(sendIntent);}}
4、起调微信分享
String strTinyCreate = "分享一个微创业\n" ;
ShareUtil.getInstance(AddwcrrActivity.this, 0).setDetail(strTinyCreate).setShareType(ShareUtil.SHARE_WX_FRIEND).share(more_loadDialog);
5、说明:
More_LoadDialog是个缓冲动画。可要可不要。可用你的缓冲动画