您好,登錄后才能下訂單哦!
怎么在Android應用中利用ShareSDK實現一個應用分享功能?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1. 獲取AppKey
訪問mob官網http://mob.com注冊賬號–》點擊頭像進入“后臺中心”–》選擇shareSDK–》添加應用–》獲取AppKey。
點擊添加后,就可以生成項目對應的AppKey。
2. SDK下載
訪問mob官網http://mob.com下載最新的sdk。
然后點擊一鍵下載就可以下載最新的sdk。
3. sdk目錄結構
上面這張圖就是我們下載下來的sdk的所有文件,其中我們集成用到的就是紅色區域標記的部分。
4. 使用java命令生成項目
使用java -jar命令編譯我們下載的QuickIntegrater.jar文件,就會彈出一個對話框,我們添入我們的項目名稱還有包名,點擊確定,然后就會自動生成一個和我們項目相關的文件夾。如下圖所示:
5. 復制文件
我們只需要把對應的文件復制到我們的項目中就可以。詳細的目錄結構如下圖所示。
需要注意的是,圖中的libs中的jar包我們已經添加為library了。在第一次復制進來的時候,我們需要右鍵–》點擊“Add as library”進行編譯。這樣我們才能使用其中的api。
6. AppKey的替換
替換assets文件夾下的AppKey
7. 權限添加
在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" />
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登錄的回調必須要配置的 --> <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> <!-- 新浪微博客戶端分享回調必須配置 --> <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. 創建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應用到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實現分享
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(); //關閉sso授權 oks.disableSSOWhenAuthorize(); // title標題,印象筆記、郵箱、信息、微信、人人網和QQ空間等使用 oks.setTitle("標題"); // titleUrl是標題的網絡鏈接,QQ和QQ空間等使用 oks.setTitleUrl("http://sharesdk.cn"); // text是分享文本,所有平臺都需要這個字段 oks.setText("Testing message"); // imagePath是圖片的本地路徑,Linked-In以外的平臺都支持此參數 //oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片 // url僅在微信(包括好友和朋友圈)中使用 oks.setUrl("http://sharesdk.cn"); // comment是我對這條分享的評論,僅在人人網和QQ空間使用 oks.setComment("我是測試評論文本"); // site是分享此內容的網站名稱,僅在QQ空間使用 oks.setSite(getString(R.string.app_name)); // siteUrl是分享此內容的網站地址,僅在QQ空間使用 oks.setSiteUrl("http://sharesdk.cn"); // 啟動分享GUI oks.show(this); } }
看完上述內容,你們掌握怎么在Android應用中利用ShareSDK實現一個應用分享功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。