package com.example.a1512qumengdemo; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import com.umeng.analytics.MobclickAgent; import com.umeng.socialize.ShareAction; import com.umeng.socialize.UMAuthListener; import com.umeng.socialize.UMShareAPI; import com.umeng.socialize.UMShareListener; import com.umeng.socialize.bean.SHARE_MEDIA; import com.umeng.socialize.media.UMImage; import com.umeng.socialize.media.UMWeb; import java.util.Map; public class MainActivity extends BaseActivity implements View.OnClickListener { /** * 分享 */ private Button mBt; private UMShareListener shareListener = new UMShareListener() { /** * @descrption 分享开始的回调 * @param platform 平台类型 */ @Override public void onStart(SHARE_MEDIA platform) { } /** * @descrption 分享成功的回调 * @param platform 平台类型 */ @Override public void onResult(SHARE_MEDIA platform) { Toast.makeText(MainActivity.this, "成功了", Toast .LENGTH_LONG).show(); } /** * @descrption 分享失败的回调 * @param platform 平台类型 * @param t 错误原因 */ @Override public void onError(SHARE_MEDIA platform, Throwable t) { Toast.makeText(MainActivity.this, "失败" + t.getMessage(), Toast.LENGTH_LONG).show(); } /** * @descrption 分享取消的回调 * @param platform 平台类型 */ @Override public void onCancel(SHARE_MEDIA platform) { Toast.makeText(MainActivity.this, "取消了", Toast .LENGTH_LONG).show(); } }; /** * 登录 */ private Button mBtLogin; private TextView mTv; /** * 广告 */ private Button mBtAd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //分享或者登录的结果交给友盟处理 UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); } private void initView() { mBt = (Button) findViewById(R.id.bt); mBt.setOnClickListener(this); mBtLogin = (Button) findViewById(R.id.btLogin); mBtLogin.setOnClickListener(this); mTv = (TextView) findViewById(R.id.tv); mBtAd = (Button) findViewById(R.id.btAd); mBtAd.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { default: break; case R.id.bt: //分享 UMImage image = new UMImage(MainActivity.this, "http://img.zcool" + ".cn/community/01d881579dc3620000018c1b430c4b.JPG@3000w_1l_2o_100sh.jpg");//网络图片 new ShareAction(MainActivity.this).withMedia(new UMWeb("http://www.baidu.com")).setDisplayList (SHARE_MEDIA.WEIXIN, SHARE_MEDIA .WEIXIN_CIRCLE, SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE) .setCallback(shareListener).open(); break; case R.id.btLogin: UMShareAPI.get(this).getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener); break; case R.id.btAd: //自定义计数事件 MobclickAgent.onEvent(this,"click"); break; } } UMAuthListener authListener = new UMAuthListener() { /** * @desc 授权开始的回调 * @param platform 平台名称 */ @Override public void onStart(SHARE_MEDIA platform) { } /** * @desc 授权成功的回调 * @param platform 平台名称 * @param action 行为序号,开发者用不上 * @param data 用户资料返回 */ @Override public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) { Toast.makeText(MainActivity.this, "成功了", Toast.LENGTH_LONG).show(); StringBuilder sb = new StringBuilder(); for (Map.Entry<String, String> entry : data.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); sb.append(key + ":"); sb.append(value + "\n"); } mTv.setText(sb.toString()); } /** * @desc 授权失败的回调 * @param platform 平台名称 * @param action 行为序号,开发者用不上 * @param t 错误原因 */ @Override public void onError(SHARE_MEDIA platform, int action, Throwable t) { Toast.makeText(MainActivity.this, "失败:" + t.getMessage(), Toast.LENGTH_LONG).show(); } /** * @desc 授权取消的回调 * @param platform 平台名称 * @param action 行为序号,开发者用不上 */ @Override public void onCancel(SHARE_MEDIA platform, int action) { Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show(); } }; }
第三方分享登录主要代码
猜你喜欢
转载自blog.csdn.net/sui_yz/article/details/80102558
今日推荐
周排行