package com.duguang.baseanimation.ui.base; import com.duguang.baseanimation.R; import com.duguang.baseanimation.R.id; import com.duguang.baseanimation.R.menu; import com.duguang.baseanimation.ui.AboutActivity; import com.umeng.analytics.MobclickAgent; import com.umeng.fb.FeedbackAgent; import com.umeng.socialize.common.SocializeConstants; import com.umeng.socialize.controller.RequestType; import com.umeng.socialize.controller.UMServiceFactory; import com.umeng.socialize.controller.UMSocialService; import com.umeng.socialize.controller.UMSsoHandler; import com.umeng.socialize.controller.UMWXHandler; import com.umeng.socialize.sso.QZoneSsoHandler; import com.umeng.socialize.sso.TencentWBSsoHandler; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; /** * 所有的Activity继承的基类Activity,包含了ActionBar菜单 * @author duguang * 博客地址:http://blog.csdn.net/duguang77 */ public abstract class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setView(); initView(); setListener(); initData(); } @Override protected void onResume() { super.onResume(); MobclickAgent.onResume(this); } @Override protected void onPause() { super.onPause(); MobclickAgent.onPause(this); } /** * 设置布局文件 */ public abstract void setView(); /** * 初始化布局文件中的控件 */ public abstract void initView(); /** * 设置控件的监听 */ public abstract void setListener(); private void initData() { SocializeConstants.APPKEY = "52c4c16956240bce2e08eeb0"; // 首先在您的Activity中添加如下成员变量 final UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.share",RequestType.SOCIAL); // 设置分享内容 mController.setShareContent("Android开发者必备BaseAnimation应用,一些想要的效果能过快速找到,并添加到自己的应用中,作者博客地址:http://blog.csdn.net/duguang77"); // wx967daebe835fbeac是你在微信开发平台注册应用的AppID, 这里需要替换成你注册的AppID String appID = "wx88818f8c48a95eb4"; // 微信图文分享必须设置一个url String contentUrl = "http://www.umeng.com/social"; // 添加微信平台,参数1为当前Activity, 参数2为用户申请的AppID, 参数3为点击分享内容跳转到的目标url UMWXHandler wxHandler = mController.getConfig().supportWXPlatform(this,appID, contentUrl); //设置分享标题 wxHandler.setWXTitle("Android开发者必备BaseAnimation"); // 支持微信朋友圈 UMWXHandler circleHandler = mController.getConfig().supportWXCirclePlatform(this,appID, contentUrl) ; circleHandler.setCircleTitle("一些想要的效果能过快速找到,并添加到自己的应用中,BaseAnimation还不错哦..."); // 参数1为当前Activity, 参数2为用户点击分享内容时跳转到的目标地址 mController.getConfig().supportQQPlatform(this, "http://www.umeng.com/social"); mController.getConfig().setSsoHandler(new QZoneSsoHandler(this)); //设置腾讯微博SSO handler mController.getConfig().setSsoHandler(new TencentWBSsoHandler()); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.optionsmenu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_about: Intent intent = new Intent(BaseActivity.this,AboutActivity.class); startActivity(intent); overridePendingTransition(R.anim.small_2_big, R.anim.fade_out); return true; case R.id.menu_feedback: FeedbackAgent agent = new FeedbackAgent(this); agent.startFeedbackActivity(); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); return true; case R.id.menu_share: final UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.share",RequestType.SOCIAL); mController.openShare(BaseActivity.this, false); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); return true; default: return super.onOptionsItemSelected(item); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); final UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.share",RequestType.SOCIAL); /**使用SSO授权必须添加如下代码 */ UMSsoHandler ssoHandler = mController.getConfig().getSsoHandler(requestCode) ; if(ssoHandler != null){ ssoHandler.authorizeCallBack(requestCode, resultCode, data); } } }