Android使用ShareSDK實(shí)現(xiàn)應(yīng)用分享的功能
簡(jiǎn)介
今天給大家?guī)?lái)的是使用ShareSDK實(shí)現(xiàn)應(yīng)用分享的功能。下面我們先看下效果圖。
效果圖
步驟
1. 獲取AppKey
訪問(wèn)mob官網(wǎng)http://mob.com注冊(cè)賬號(hào)–》點(diǎn)擊頭像進(jìn)入“后臺(tái)中心”–》選擇shareSDK–》添加應(yīng)用–》獲取AppKey。
點(diǎn)擊添加后,就可以生成項(xiàng)目對(duì)應(yīng)的AppKey。
2. SDK下載
訪問(wèn)mob官網(wǎng)http://mob.com下載最新的sdk。
然后點(diǎn)擊一鍵下載就可以下載最新的sdk。
3. sdk目錄結(jié)構(gòu)
上面這張圖就是我們下載下來(lái)的sdk的所有文件,其中我們集成用到的就是紅色區(qū)域標(biāo)記的部分。
4. 使用java命令生成項(xiàng)目
使用java -jar命令編譯我們下載的QuickIntegrater.jar文件,就會(huì)彈出一個(gè)對(duì)話框,我們添入我們的項(xiàng)目名稱還有包名,點(diǎn)擊確定,然后就會(huì)自動(dòng)生成一個(gè)和我們項(xiàng)目相關(guān)的文件夾。如下圖所示:
5. 復(fù)制文件
我們只需要把對(duì)應(yīng)的文件復(fù)制到我們的項(xiàng)目中就可以。詳細(xì)的目錄結(jié)構(gòu)如下圖所示。
需要注意的是,圖中的libs中的jar包我們已經(jīng)添加為library了。在第一次復(fù)制進(jìn)來(lái)的時(shí)候,我們需要右鍵–》點(diǎn)擊“Add as library”進(jìn)行編譯。這樣我們才能使用其中的api。
6. AppKey的替換
替換assets文件夾下的AppKey
7. 權(quán)限添加
在AndroidManifest.xml添加下列權(quán)限:
<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" /> <!-- 藍(lán)牙分享所需的權(quán)限 --> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
8. activity聲明
<activity android:name="com.mob.tools.MobUIShell" android:configChanges="keyboardHidden|orientation|screenSize" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:windowSoftInputMode="stateHidden|adjustResize"> <!-- QQ和QQ空間分享 QQ登錄的回調(diào)必須要配置的 --> <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> <!-- 新浪微博客戶端分享回調(diào)必須配置 --> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
9. 創(chuàng)建ShareApplication
初始化ShareSDK
public class ShareApplication extends Application { private static final String APP_KEY = "193e71d0869ce"; @Override public void onCreate() { super.onCreate(); ShareSDK.initSDK(this, APP_KEY); } }
并把ShareApplication應(yīng)用到AndroidManifest中:
<application android:name=".ShareApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity">
10. MainActivity實(shí)現(xiàn)分享
public class MainActivity extends AppCompatActivity { private Button shareButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); shareButton = (Button) findViewById(R.id.share_button); initListener(); } private void initListener() { shareButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { share(); } }); } private void share() { ShareSDK.initSDK(this); OnekeyShare oks = new OnekeyShare(); //關(guān)閉sso授權(quán) oks.disableSSOWhenAuthorize(); // title標(biāo)題,印象筆記、郵箱、信息、微信、人人網(wǎng)和QQ空間等使用 oks.setTitle("標(biāo)題"); // titleUrl是標(biāo)題的網(wǎng)絡(luò)鏈接,QQ和QQ空間等使用 oks.setTitleUrl("http://sharesdk.cn"); // text是分享文本,所有平臺(tái)都需要這個(gè)字段 oks.setText("Testing message"); // imagePath是圖片的本地路徑,Linked-In以外的平臺(tái)都支持此參數(shù) //oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片 // url僅在微信(包括好友和朋友圈)中使用 oks.setUrl("http://sharesdk.cn"); // comment是我對(duì)這條分享的評(píng)論,僅在人人網(wǎng)和QQ空間使用 oks.setComment("我是測(cè)試評(píng)論文本"); // site是分享此內(nèi)容的網(wǎng)站名稱,僅在QQ空間使用 oks.setSite(getString(R.string.app_name)); // siteUrl是分享此內(nèi)容的網(wǎng)站地址,僅在QQ空間使用 oks.setSiteUrl("http://sharesdk.cn"); // 啟動(dòng)分享GUI oks.show(this); } }
總結(jié)
至此,整個(gè)ShareSDK就集成到我們的項(xiàng)目中來(lái)了,實(shí)現(xiàn)效果就是我們篇頭的gif動(dòng)畫。
其實(shí)所有的東西本身并不難,就看你敢不敢去做這件事,并且很出色地把它完成。
源碼下載:Android實(shí)現(xiàn)ShareSDK分享
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 關(guān)于Android Studio封裝SDK的那些事兒
- Win8下Android SDK安裝與環(huán)境變量配置教程
- 詳解Android 語(yǔ)音播報(bào)實(shí)現(xiàn)方案(無(wú)SDK)
- 使用Android Studio 開(kāi)發(fā)自己的SDK教程
- centos7中安裝Android SDK的方法步驟
- Android Studio下載更新Android SDK網(wǎng)絡(luò)異?;驘o(wú)法下載
- Android之高德地圖定位SDK集成及地圖功能實(shí)現(xiàn)
- Linux系統(tǒng)下安裝android sdk的方法步驟
- Android SdkVersion的區(qū)別及獲取版本信息方法
- 配置Android SDK
相關(guān)文章
Android 帶進(jìn)度條的WebView 示例代碼
本文主要介紹Android WebView,這里提供實(shí)例代碼,和效果圖供大家參考,希望能幫助有需要的小伙伴2016-07-07Flutter中跨組件數(shù)據(jù)傳遞的方法總結(jié)
Flutter中的數(shù)據(jù)傳遞一般包括:父->子,子->父,父->父,也就是說(shuō)嵌套時(shí)的傳遞以及跨頁(yè)面的傳遞,本文整理了三種我們通常使用的方法,需要的可以參考一下2023-06-06Android實(shí)現(xiàn)語(yǔ)音播放與錄音功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)語(yǔ)音播放與錄音功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07Android 跨進(jìn)程通Messenger(簡(jiǎn)單易懂)
這篇文章主要介紹了Android Messenger跨進(jìn)程通的相關(guān)資料,非常簡(jiǎn)單容易理解,對(duì)android messenger 進(jìn)程通訊的相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-08-08Android編程實(shí)現(xiàn)activity dialog透明背景的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)activity dialog透明背景的方法,涉及Activity相關(guān)屬性設(shè)置及配置文件操作技巧,需要的朋友可以參考下2017-07-07Android?Activity共享元素動(dòng)畫示例解析
這篇文章主要為大家介紹了Android?Activity共享元素動(dòng)畫示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Android 輕松實(shí)現(xiàn)語(yǔ)音識(shí)別詳解及實(shí)例代碼
這篇文章主要介紹了Android 輕松實(shí)現(xiàn)語(yǔ)音識(shí)別的相關(guān)資料,并附實(shí)例代碼,需要的朋友可以參考下2016-09-09