博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android APP分享(第三方友盟)
阅读量:5967 次
发布时间:2019-06-19

本文共 6226 字,大约阅读时间需要 20 分钟。

1

获取友盟Appkey

2

下载并安装SDK

3

添加资源文件和jar文件

4

Manifest配置,添加友盟Appkey/Activity/权限

(上面是一些准备  具体可查看之前写的Android第三方登录详解1,2)

5

打开平台选择面板

5.1  首先在您的Activity中添加如下成员变量并设置分享内容

// 首先在您的Activity中添加如下成员变量final UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.share");// 设置分享内容mController.setShareContent("友盟社会化组件(SDK)让移动应用快速整合社交分享功能,http://www.umeng.com/social"); //填到分享监听里// 设置分享图片, 参数2为图片的url地址mController.setShareMedia(new UMImage(getActivity(),                                       "http://www.umeng.com/images/pic/banner_module_social.png"));// 设置分享图片,参数2为本地图片的资源引用//mController.setShareMedia(new UMImage(getActivity(), R.drawable.icon));// 设置分享图片,参数2为本地图片的路径(绝对路径)//mController.setShareMedia(new UMImage(getActivity(), //                                BitmapFactory.decodeFile("/mnt/sdcard/icon.png")));// 设置分享音乐//UMusic uMusic = new UMusic("http://sns.whalecloud.com/test_music.mp3");//uMusic.setAuthor("GuGu");//uMusic.setTitle("天籁之音");// 设置音乐缩略图//uMusic.setThumb("http://www.umeng.com/images/pic/banner_module_social.png");//mController.setShareMedia(uMusic);// 设置分享视频//UMVideo umVideo = new UMVideo(//          "http://v.youku.com/v_show/id_XNTE5ODAwMDM2.html?f=19001023");// 设置视频缩略图//umVideo.setThumb("http://www.umeng.com/images/pic/banner_module_social.png");//umVideo.setTitle("友盟社会化分享!");//mController.setShareMedia(umVideo);

 

 

5.1.1  通过某个按钮或其他方法弹出分享面板

mController.getConfig().removePlatform( SHARE_MEDIA.RENREN, SHARE_MEDIA.DOUBAN); //分享监听yourShareButton.setOnClickListener(new OnClickListener() {    @Override    public void onClick(View v) {        // 是否只有已登录用户才能打开分享选择页        mController.openShare(getActivity(), false);          }});

 

6.  各平台SSO(免登录)配置

6.1  配置SSO授权回调

如果有使用新浪、人人的SSO授权或者集成了facebook平台, 则必须在对应的activity中实现onActivityResult方法, 并添加如下代码

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    /**使用SSO授权必须添加如下代码 */    UMSsoHandler ssoHandler = mController.getConfig().getSsoHandler(requestCode) ;    if(ssoHandler != null){       ssoHandler.authorizeCallBack(requestCode, resultCode, data);    }}

注意onActivityResult方法必须写在分享所在的Activity或fragment依赖的Activity中,不可以直接写在fragment中

分享给QQ好友

//参数1为当前Activity,参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(getActivity(), "100424468",                "c7394704798a158208a74ab60104f0ba");qqSsoHandler.addToSocialSDK();

分享到QQ空间

//参数1为当前Activity,参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(getActivity(), "100424468",                "c7394704798a158208a74ab60104f0ba");qZoneSsoHandler.addToSocialSDK();

分享到新浪微博

//设置新浪 SSO handler mController.getConfig().setSsoHandler(new SinaSsoHandler());

以下是我做的(仅供参考)

package com.bawei.xiangqing;import com.bawei.jinritioutiao.R;import com.umeng.socialize.bean.SHARE_MEDIA;import com.umeng.socialize.controller.UMServiceFactory;import com.umeng.socialize.controller.UMSocialService;import com.umeng.socialize.media.UMImage;import com.umeng.socialize.sso.QZoneSsoHandler;import com.umeng.socialize.sso.SinaSsoHandler;import com.umeng.socialize.sso.UMQQSsoHandler;import com.umeng.socialize.sso.UMSsoHandler;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.ImageView;public class DetailsShown extends Activity{private WebView webView;private ImageView fenxiang;private String url;private UMSocialService mController;@Overrideprotected void onCreate(Bundle savedInstanceState) {    // TODO Auto-generated method stub    super.onCreate(savedInstanceState);    setContentView(R.layout.detailsshow);    webView = (WebView) findViewById(R.id.webviews);    fenxiang = (ImageView) findViewById(R.id.info_img_repost);//分享        Intent intent = getIntent();    url = intent.getStringExtra("url");    WebSettings settings = webView.getSettings();//获得websetting,设置一些参数    settings.setDefaultTextEncodingName("utf-8");//设置编码,解决乱码    webView.loadUrl(url);//加载html     //webview 加载详情      webView.setWebViewClient(new WebViewClient(){         @Override        public boolean shouldOverrideUrlLoading(WebView view, String url) {            // TODO Auto-generated method stub             webView.loadUrl(url);            return true;        }     });          //第三方分享  mController = UMServiceFactory.getUMSocialService("com.umeng.share");     // 设置分享内容     mController.setShareContent("分享内容");     mController.getConfig().removePlatform( SHARE_MEDIA.RENREN, SHARE_MEDIA.DOUBAN);     fenxiang.setOnClickListener(new OnClickListener() {                @Override        public void onClick(View v) {            // TODO Auto-generated method stub            // 是否只有已登录用户才能打开分享选择页            mController.openShare(DetailsShown.this, false);         // 设置分享图片, 参数2为图片的url地址            mController.setShareMedia(new UMImage(DetailsShown.this,                                                   url));        }    });        //QQ参数1为当前Activity,参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.     UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(DetailsShown.this, "100424468",                     "c7394704798a158208a74ab60104f0ba");     qqSsoHandler.addToSocialSDK();   //QQ空间参数1为当前Activity,参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.     QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(DetailsShown.this, "100424468",                     "c7394704798a158208a74ab60104f0ba");     qZoneSsoHandler.addToSocialSDK();   //设置新浪SSO handler新浪微博     mController.getConfig().setSsoHandler(new SinaSsoHandler());}//免登陆授权@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    /**使用SSO授权必须添加如下代码 */    UMSsoHandler ssoHandler = mController.getConfig().getSsoHandler(requestCode) ;    if(ssoHandler != null){       ssoHandler.authorizeCallBack(requestCode, resultCode, data);    }}}

具体请查看友盟  > 社会化分享 > 社会化Android组件 > 4.3版本快速集成

http://dev.umeng.com/social/android/quick-integration

 

 

转载于:https://www.cnblogs.com/1426837364qqcom/p/5320689.html

你可能感兴趣的文章
Oracle——条件控制语句
查看>>
[Linux][Redis][05]Benchmark
查看>>
第一次作业-准备篇
查看>>
HDU1848 Fibonacci again and again
查看>>
HTML思维导图
查看>>
office2016选择性安装
查看>>
C# 自定义控件入门
查看>>
git改密码出现授权问题
查看>>
Hadoop IO 特性详解(2)
查看>>
ORA-02266: 表中的唯一/主键被启用的外键引用
查看>>
Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法
查看>>
Apache common-fileupload用户指南
查看>>
day-6 and day-7:面向对象
查看>>
IE维护(IEM)策略不再适用于IE10及后续IE版本
查看>>
Java7中的ForkJoin并发框架初探(下)—— ForkJoin的应用
查看>>
java中的重量级与轻量级概念
查看>>
Linux设备驱动工程师之路——硬件访问及混杂设备LED驱动
查看>>
进程和线程<一>
查看>>
远程算数程序——版本v1.0
查看>>
Mysql常见四种索引的使用
查看>>