Android APP分享(第三方友盟)

1javascript

獲取友盟Appkey

2html

下載並安裝SDK

3java

添加資源文件和jar文件

4android

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

(上面是一些準備  具體可查看以前寫的Android第三方登陸詳解1,2)web

5app

打開平臺選擇面板

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方法, 並添加以下代碼ssh

@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中ide

分享給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());

如下是我作的(僅供參考)post

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;

@Override
protected 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版本快速集成ui

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

相關文章
相關標籤/搜索