1. 程式人生 > >Android使用ShareSDK整合QQ、微信、微博等第三方分享

Android使用ShareSDK整合QQ、微信、微博等第三方分享

前言

第三方分享幾乎是每個APP的必須功能。有些人說看官方的文件實在讓人眼花繚亂,以前自己第一次做這些功能的時候也會遇到很多坑。這裡整理了一份比較詳細的,主要給新手學習。有任何問題歡迎提出來!

1、獲取ShareSDK的AppKey

2、下載SDK

下載後解壓出來是這樣的
這裡寫圖片描述

3、準備資源

點選第一個資料夾,進去如下,雙擊QuickIntegrater.jar
這裡寫圖片描述

只需要填寫專案名稱和專案包名即可,其他預設。如圖:
這裡寫圖片描述

點選確認後會生成如下資料夾,如圖:
這裡寫圖片描述

這裡寫圖片描述

4、開始整合

1,將上面的資料夾依次貼上到工程相應的資料夾即可,如圖:

這裡寫圖片描述

2,在清單檔案AndroidManifest.xml新增許可權

<uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"
/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/> <!-- 藍芽分享所需的許可權 --> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

3,在清單檔案AndroidManifest.xml新增activity資訊

(注意:tencent後面的appid要保持和您配置的QQ的appid一致)

<activity
     android:name="com.mob.tools.MobUIShell"
     android:theme="@android:style/Theme.Translucent.NoTitleBar"
     android:configChanges="keyboardHidden|orientation|screenSize"
     android:screenOrientation="portrait"
     android:windowSoftInputMode="stateHidden|adjustResize" >

     <intent-filter>
         <data android:scheme="tencent100371282" />
         <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.BROWSABLE" />
         <category android:name="android.intent.category.DEFAULT" />
     </intent-filter>

    <!-- 呼叫新浪原生SDK,需要註冊的回撥activity -->
    <intent-filter>
        <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

    <!--整合line客戶端登入授權,需要添如下格式的過濾器-->
    <intent-filter> 
    <data android:scheme="line.1477692153" />
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

 </activity>

如果您集成了微信,還需要新增下面回撥的activity處理;

<activity
     android:name=".wxapi.WXEntryActivity"
     android:theme="@android:style/Theme.Translucent.NoTitleBar"
     android:configChanges="keyboardHidden|orientation|screenSize"
     android:exported="true"
     android:screenOrientation="portrait" /> 

4,在剛剛拷貝進去的ShareSDK中替換mob後臺申請的Appkey與各個平臺申請的key

注意:
mob後臺申請的Appkey:就是第一部中獲取ShareSDK的AppKey
各個平臺申請的key:需要到各個平臺申請,例如需要微信分享,則需要到微信開放平臺進行申請

這裡寫圖片描述

5,新增分享程式碼

在您程式啟動的時候新增初始化程式碼(注:不要等呼叫ShareSDK功能之前才初始化)
即自己新增一個類繼承Application,在onCreate方法新增下面的程式碼,如下:

package com.xinhao.thirdpartysharelogin;

import android.app.Application;

import cn.sharesdk.framework.ShareSDK;

/**
 * author           Alpha58
 * date             2017/03/15
 * desc             ${Application}
 * <p>
 * upDateAuthor     $Author$
 * upDate           $Date$
 * upDateDesc       ${TODO}
 */
public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        //初始化ShareSDK
        ShareSDK.initSDK(this);
    }
}

注意: 該類需要在清單檔案中註冊,如圖:
這裡寫圖片描述

在您的程式碼中呼叫此方法,即可開啟一鍵分享功能進行分享

private void showShare() {
 OnekeyShare oks = new OnekeyShare();
 //關閉sso授權
 oks.disableSSOWhenAuthorize(); 
 // title標題,印象筆記、郵箱、資訊、微信、人人網、QQ和QQ空間使用
 oks.setTitle("標題");
 // titleUrl是標題的網路連結,僅在Linked-in,QQ和QQ空間使用
 oks.setTitleUrl("http://sharesdk.cn");
 // text是分享文字,所有平臺都需要這個欄位
 oks.setText("我是分享文字");
 //分享網路圖片,新浪微博分享網路圖片需要通過稽核後申請高階寫入介面,否則請註釋掉測試新浪微博
 oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
 // imagePath是圖片的本地路徑,Linked-In以外的平臺都支援此引數
 //oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片
 // url僅在微信(包括好友和朋友圈)中使用
 oks.setUrl("http://sharesdk.cn");
 // comment是我對這條分享的評論,僅在人人網和QQ空間使用
 oks.setComment("我是測試評論文字");
 // site是分享此內容的網站名稱,僅在QQ空間使用
 oks.setSite("ShareSDK");
 // siteUrl是分享此內容的網站地址,僅在QQ空間使用
 oks.setSiteUrl("http://sharesdk.cn");

// 啟動分享GUI
 oks.show(this);
 }

效果如下:
這裡寫圖片描述

如果對你有幫助記得點贊,star支援下哈~

相關推薦

Android使用友盟整合QQ等第三方分享

前言 最近專案需要加入第三方分享和登入功能,之前其他專案的第三方分享和登入一直都使用ShareSDK實現的。為了統一使用友盟的全家桶,所以三方分享和登入也就選擇了友盟。這裡記錄一下完整的整合與使用流程。 1、申請友盟Appkey 直接到友盟官網申請即可

Android使用ShareSDK整合QQ等第三方分享

前言 第三方分享幾乎是每個APP的必須功能。有些人說看官方的文件實在讓人眼花繚亂,以前自己第一次做這些功能的時候也會遇到很多坑。這裡整理了一份比較詳細的,主要給新手學習。有任何問題歡迎提出來! 1、獲取ShareSDK的AppKey 2

Android使用ShareSDK整合QQ等第三方登入

前言 第三方登入幾乎是每個APP的必須功能。有些人說看官方的文件實在讓人眼花繚亂,以前自己第一次做這些功能的時候也會遇到很多坑。這裡整理了一份比較詳細的,主要給新手學習。有任何問題歡迎提出來! 1、獲取ShareSDK的AppKey 2

shareSDK的初步使用(shareSDK中qq等兼容問題,以及cocoapods支持架構沖突問題的解決)

hone 組件 友盟 環境 end 信息 uil platform i386 第一次使用shareSDK來做第三方分享,可是。昨天一天都是在調試bug,一直錯誤不斷! 先說下我的開發環境: xcode:5.1 真機調試:iPhone5s 我們都知道xcode5.1以後開

QQ手機號身份證郵箱正則驗證

blog pre 前綴 highlight var logs clas brush test QQ正則驗證 查了下,現在QQ的長度最長是10位數,驗證格式為不以0開頭的5-10位數字就可以了 var reg = /^[1-9]\d{4,9}$/; reg.test(‘01

在Android中使App高速簡單地支持新浪QQfacebook等十幾個主流社交平臺的分享功能

分析 ont renren androidm mod 執行 xen 12px 操作 前言 在如今的APP或者遊戲中,分享功能差點兒已經成為標配。分享功能不但能夠滿足用戶的需求。也能夠為產品帶來很多其它的用戶,甚至能夠對用戶的行為、活躍度、年齡段等情況進行數據統計,使得軟

實現QQ新浪和百度第三方登錄(Android Studio)

wiki protocol super cli 路徑 參考 syn jar包 all 前言: 對於大多數的APP都有第三方登錄這個功能,自己也做過幾次,最近又有一個新項目用到了第三方登錄,所以特意總結了一下關於第三方登錄的實現,並拿出來與大家一同分享; 各大開放平臺註冊

Python爬蟲開源項目代碼,爬取淘寶豆瓣知乎新浪QQ去哪網等 代碼整理

http server 以及 pro 模擬登錄 取數 存在 漏洞 搜狗 作者:SFLYQ 今天為大家整理了32個Python爬蟲項目。 整理的原因是,爬蟲入門簡單快速,也非常適合新入門的小夥伴培養信心。所有鏈接指向GitHub,祝大家玩的愉快~ 1、WechatSogou

h5怎麽做分享QQ 朋友圈 等功能

必備工具 con null 描述 one url key cts function 微信已經成為我們日常聊天聯系基本的必備工具,所以小菜我首先介紹一下如何調用微信的分享功能。其實除了可以在微信上分享到朋友圈和發送給好友,微信的分享接口還提供了分享到QQ和分享到騰訊微博等,

圖靈機器人API,適用於QQ智能硬件等

語音 init statistic 天氣 curl 查看 syn weight net 該API有智能聊天、查天氣、查快遞、查菜譜、查車票、查航班、查出行、查周邊等近500個功能,能夠用在微信公眾平臺、QQ群、手機語音助手

關於Facebooktwittergooglepinterest四種分享方法,附帶QQ豆瓣等等

設計 document 類型 默認 設計圖 sta over conf too   常用的國外網站分享推過,Facebook、twitter、google、pinterest這四種社交平臺最常見,下面就簡單介紹一下分享的方法。   首先,必須使用分享插件,share.js

PHP 區分支付寶QQ掃碼

cti php 掃碼 HP function server 支付寶 pos ger public function IsWeixinOrAlipay() { $ua = $_SERVER[‘HTTP_USER_AGENT‘]; if (strpos($ua, ‘Micr

Ubuntu 常用軟件推薦(QQMATLAB等)及安裝過程

icon 結束 images 任務管理器 自帶 缺點 第一次啟動 鍵盤 PE 1. Wine QQ QQ 移植到 Linux 一直是一個比較頭疼的問題,但我們日常交流、傳輸文件又離不開這個軟件。在網上一番搜尋嘗試後,發現最好的替代方案就是 Wine QQ,版本也還比較新,缺

qq二次分享

二次 can 微信 itl 鏈接 script signature UNC 取消 前言 我們平時做微信分享的時候,一般分享出來的頁面都是一個簡單的html頁面,不會加入框架之類的東西。所以當我們在分享出來的頁面裏面再次進行分享的時候,由於我們沒有配置分享的標題、描述這些東西

Android 調用系統分享文字圖片文件,可直達朋友圈QQQQ空間

gem 朋友 con vmpolicy false 錯誤 區分 指定 如果 原文:Android 調用系統分享文字、圖片、文件,可直達微信、朋友圈、QQ、QQ空間、微博 兼容SDK

js通過UA判斷iosandroidqqqq瀏覽器

function isIPhone(){ //判斷是否是ios var u = navigator.userAgent; var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端 return is

js 判斷通過什麼開啟(安卓蘋果QQ瀏覽器某個app應用…)

/* 獲取當前環境: 系統環境: iOS Android PC 瀏覽器環境 微信內建瀏覽器、QQ內建瀏覽器、正常瀏覽器 是否app內開啟 */ var ua = navigator.userAgent.toLowerCase(); //獲取瀏覽器標識並轉換為小寫 va

QQ第三方登入授權時的問題總結

  一、微信第一個問題:redirect_uri域名與後臺配置不一致,錯誤碼:10003   解決方案:   1,首先確定訪問的第三方介面地址引數前後順序是否正確,redirect_uri回撥地址是否加了http://字首   2,確定第三方應用中的回撥地址是否正確設定,沒有的話則修改回撥地址域   

android仿QQ等聊天介面,實現點選輸入框彈出軟鍵盤點選其他區域收起軟鍵盤,預設滑動至最低端

如圖所示,點選輸入框及選擇圖片和傳送按鈕時軟鍵盤顯示且不消失,點選其他區域,則隱藏軟鍵盤。 主要程式碼如下: override fun dispatchTouchEvent(ev: MotionEvent?): Boolean { if (ev!!.getAction() ==

mob第三方分享qq

1、導包 2、之後修改mainfest <!-- Mob 分享SDK start --> <activity android:name="com.mob.tools.MobUIShell" android:configChanges="keyboardHi