@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); } @Override protected void onDestroy() { super.onDestroy(); UMShareAPI.get(this).release(); } public void qqShare(View view) { UMImage image = new UMImage(this, R.drawable.umeng_socialize_more);//res UMShareListener umShareListener=new UMShareListener() { @Override public void onStart(SHARE_MEDIA share_media) { Toast.makeText(MainActivity.this,"开始",Toast.LENGTH_SHORT).show(); } @Override public void onResult(SHARE_MEDIA share_media) { Toast.makeText(MainActivity.this,"成功",Toast.LENGTH_SHORT).show(); } @Override public void onError(SHARE_MEDIA share_media, Throwable throwable) { Toast.makeText(MainActivity.this,"失败:"+throwable.getMessage(),Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA share_media) { Toast.makeText(MainActivity.this,"取消",Toast.LENGTH_SHORT).show(); } }; new ShareAction(this) .setPlatform(SHARE_MEDIA.QQ)//传入平台 //.withText("hello")//分享内容 .withMedia(image) .setCallback(umShareListener)//回调监听器 .share(); }
public class App extends Application { //初始化第三方平台的账号 { PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3"); PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com"); } @Override public void onCreate() { super.onCreate(); //初始化 UMShareAPI.get(this); Config.DEBUG = true;//调试模式...上线的时候可以改为false } }
public class ShareUtil { /** * 分享链接 */ public static void shareWeb(final Activity activity, String WebUrl, String title, String description, String imageUrl, int imageID, SHARE_MEDIA platform) { UMWeb web = new UMWeb(WebUrl);//连接地址 web.setTitle(title);//标题 web.setDescription(description);//描述 if (TextUtils.isEmpty(imageUrl)) { web.setThumb(new UMImage(activity, imageID)); //本地缩略图 } else { web.setThumb(new UMImage(activity, imageUrl)); //网络缩略图 } new ShareAction(activity) .setPlatform(platform) .withMedia(web) .setCallback(new UMShareListener() { @Override public void onStart(SHARE_MEDIA share_media) { } @Override public void onResult(final SHARE_MEDIA share_media) { activity.runOnUiThread(new Runnable() { @Override public void run() { if (share_media.name().equals("WEIXIN_FAVORITE")) { Toast.makeText(activity, share_media + " 收藏成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(activity, share_media + " 分享成功", Toast.LENGTH_SHORT).show(); } } }); } @Override public void onError(final SHARE_MEDIA share_media, final Throwable throwable) { if (throwable != null) { Log.d("throw", "throw:" + throwable.getMessage()); } activity.runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(activity, share_media + " 分享失败", Toast.LENGTH_SHORT).show(); } }); } @Override public void onCancel(final SHARE_MEDIA share_media) { activity.runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(activity, share_media + " 分享取消", Toast.LENGTH_SHORT).show(); } }); } }) .share(); //新浪微博中图文+链接 /*new ShareAction(activity) .setPlatform(platform) .withText(description + " " + WebUrl) .withMedia(new UMImage(activity,imageID)) .share();*/ } }
public class WBShareActivity extends WBShareCallBackActivity { }
android中配置
buildTypes { release { // 是否进行混淆 minifyEnabled true // 混淆文件的位置 signingConfig signingConfigs.debug proguardFiles 'proguard-rules.pro' } debug { minifyEnabled true signingConfig signingConfigs.debug proguardFiles 'proguard-rules.pro' }
配置activity
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.umeng.socialize.media.WBShareCallBackActivity" android:configChanges="keyboardHidden|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:exported="false" android:screenOrientation="portrait" > </activity> <activity android:name="com.sina.weibo.sdk.web.WeiboSdkWebActivity" android:configChanges="keyboardHidden|orientation" android:exported="false" android:windowSoftInputMode="adjustResize"> </activity> <activity android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" android:launchMode="singleTask" android:name="com.sina.weibo.sdk.share.WbShareTransActivity"> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name=".wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHistory="true" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent100424468" /> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden|screenSize"/> <meta-data android:name="UMENG_APPKEY" android:value="5a2a194af29d98032c0001ff" > </meta-data>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />