當前位置:首頁 » 安卓系統 » sharesdkandroid

sharesdkandroid

發布時間: 2022-08-12 08:31:48

① sharesdkandroid登錄授權操作遇到錯誤可能的問題是什麼

在平時的開發中偶爾會遇到SharedPreference在多進程中修改同一個值出現的問題。多進程是指在ddms中看到的不同進程,包括不同應用(不管share uid 是否相同),同一個應用中配置android:process=""產生的多個進程。他們之間進行通信都會造成主進程修改值之後,在次進程讀取到的還是第一次初始化時讀取到的值。 我歸納總結的解決辦法如下: 1、首先要將獲取SharedPreference的MODE設置為: MODE_MULTI_PROCESS 。其值為4(2.3以後有該屬性)。如: getSharedPreferences("file_test", MODE_MULTI_PROCESS);.如果是使用MODE_PRIVATE這種模式,那麼另一個進程中寫入的值,將不會寫到文件中。 2、其次為了保證修改數據實時提交到磁碟,不要將SharedPreference設置成成員變數,盡量在哪裡修改就在哪裡直接獲取SharedPreference,修改後別忘記commit。 如果做到了上面兩點,不出意外的話,數據就可以做到實時修改了。 3、如果兩個進程都需要適時讀取或根據該值進行邏輯操作,那麼最好在兩個進程間使用Service和aidl技術,aidl對於這種基本類型的傳遞很容易。

② 如何使用ShareSDK讓APP快速擁有分享功能

Android 集成指南 1 獲取ShareSDK 為了集成ShareSDK,您首先需要到ShareSDK 官方網站注冊並且創建應用,獲得 ShareSDK 的Appkey,然後到SDK 的下載頁面下載SDK 的壓縮包,解壓以後可以得到 下圖的四個目錄: 其中的Libs 包含ShareSDK 的類庫,Src 包含集成微信和新浪微博需要的回調,Res 是 開發者信息示例,而Sample 則包含一個完整的操作演示。 Libs 里具體包括三個文件夾,分別是ShareSDK 的全局依賴庫、ShareSDK 當前支持的 所有平台工具庫和ShareSDK 可視化UI 的一些支持庫。「全局依賴庫」是集成ShareSDK 的基礎,ShareSDK 的任何平台都依賴於這個庫,而「ShareSDK-GUI」提供的是一個側欄 控制項和一個快捷分享工具,以方便開發者更快速地集成ShareSDK。 2 快速集成 2-1 導入Libs 1) 將「Libs\Global-Dependences」下的jar 包復制到您的libs 目錄下。 2) 從「Libs\Platforms」中選擇您感興趣的平台,比方說「新浪微博」、「QQ 空間」、「騰訊 微博」等,復制相應的壓縮包您項目的libs 目錄下並解壓,解壓過程中如遇覆蓋提示, 請同意覆蓋。 3) 如果您決定使用ShareSDK 提供的快捷分享工具,請復制「Libs\ShareSDK-GUI」中復 制「cn.sharesdk.onekeyshare.jar」到您項目中。 4) 如果您的開發環境不能自動載入ShareSDK 的jar 包到您的項目中,請修改您項目 的構建路徑,將上述jar 包添加到您的項目中。下圖以Eclipse 為例,展示添加後的效果: 2-2 添加代碼 1) 打開您項目的入口Activity,在其onCreate 中插入下面的代碼: ? 1 AbstractWeibo.initSDK(this); 這行代碼用於初始化ShareSDK,必須在程序啟動之時調用。 2)使用下面的代碼,調用ShareSDK 快捷分享功能: 分享時Notification 的圖標 ? 01 02 03 04 05 06 07 08 09 Intent i = new Intent(this, ShareAllGird.class); // 分享時Notification 的圖標 i.putExtra("notif_icon", R.drawable.ic_launcher); // 分享時Notification 的標題 i.putExtra("notif_title", getString(R.string.app_name)); // 分享內容的標題(僅部分平台需要此欄位) i.putExtra("title", "ShareSDK Demo"); // 分享內容的文本 i.putExtra("text", "share at: " + System.currentTimeMillis()); 10 11 12 13 14 15 // 分享內容的本地圖片路徑(為null 或文件不存在表示不分享圖片) i.putExtra("image", Environment.getExternalStorageDirectory () + "/ssdk.png"); // 分享內容的網路圖片地址(僅部分平台需要此欄位) i.putExtra("image_url", "http://sharesdk.cn/Public/Frontend/images/logo.png"); // 設置是否跳轉內容編輯頁面,true 表示不跳轉,不傳遞表示false(跳轉) i.putExtra("silent", silent); startActivity(i); 3) 如果您的項目中集成微信平台,請將「Sample/src/cn/sharesdk/demo」中的「wxapi」 目錄復制到您的項目主包下。 4) 如果您的項目中集成微博平台,請將「Sample/src」中的「com」目錄復制到您的項目 中。 2-3 添加開發者信息 ShareSDK 使用統一的格式管理您在不同平台上注冊的開發者信息。這些信息都存放在 您項目的「assets/ShareSDKDevInfor.xml」中。請到「Res」中將ShareSDKDevInfor.xml 復 制到您項目的對應位置,打開文件,然後根據不同的平台的數據,如下面的例子所示, 替換您在這個平台上的開發者信息: ? 1 2 3 4 5 6 7 2-4 配置AndroidManifest.xml 1) 請在您項目的AndroidManifest.xml,添加了如下的所有許可權: ? 1 2 3 4 5 6 7 8 這些許可權將允許您的項目和ShareSDK 獲取連接網路的許可權、獲取您的設備網路狀態的 許可權、實現https 安全連接的許可權、讀取手機設備狀態的許可權和保存必要配置的許可權。 一般來說,即便不集成ShareSDK,大部分的項目也都會注冊申請這些許可權。 2)在application 下注冊下面的Activity: ? 1 2 3 4 5 6 7 3)如果您的項目集成為微信和新浪微博,在application 下注冊下面的Activity: ? 01 02 03 04 05 06 07 08 09 104)如果您的項目集微信,在application 下注冊下面的Activity: ? 1 2 3 4 5 5)如果您使用ShareSDK 的快捷分享工具,在application 下注冊下面的Activity: ? 01 02 03 04 05 06 07 08 09 2-5 簽名 對於ShareSDK 的大部分平台,只要您將其jar 包和依賴集成到您的項目以 後就可以開始進行工作了。但是對於微信的兩個平台卻不行。因為微信開放平台要求 android 的第三方開發者需要提供自己項目的信息和簽名指紋數據。為了演示分享功能 Sample 包中攜帶了一個"demokey.keystore"的keystore 文件,其密碼是「123456」,如 果您在調試SSDKDemo 的時候集成了微信的平台,就需要使用這個keystore 對apk 進 行簽名,之後才能嘗試微信的分享。 3 主要功能解釋 ShareSDK 使用同一的介面實現不同平台的同類操作,如:授權、分享、關注等等。因 此開發者可以在不理會平台差異的情況下,簡單使用一句代碼完成不同平台的各種操作。 3-1 獲取已集成的平台列表 下面的代碼演示獲取已經集成到您項目中的ShareSDK 平台列表: ? 1 AbstractWeibo[] weiboList = AbstractWeibo.getWeiboList(context) 返回的列表中平台的排列順序依照您在ShareSDKDevInfor.xml 中為其配置的SortId 來 定。 請注意,此方法在第一次調用的時候可能會比較耗時,因此不建議在主線程中調用。 3-2 通過名字獲取指定平台實例 除了getWeiboList 的方法可以獲取到平台實例以外,如果您想單獨獲取某一個平台的實 例,還可以利用下面的方法,若獲取騰訊微博的實例: ? 1 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, TencentWeibo.NAME); 其中的,其中的TencentWeibo.NAME 是騰訊微博平台的靜態欄位,每一個平台都有一 個NAME 的欄位,表示其名字。 3-3 設置操作回調 不論利用ShareSDK 進行何種操作,如果希望得到操作的結果,都必須為執行操作的平 台設置WeiboActionListener 的回調。下面的代碼演示對騰訊微博綁定 WeiboActionListener 的方法: ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, TencentWeibo.NAME); weibo.setWeiboActionListener( new WeiboActionListener() { public void onError(AbstractWeibo weibo, int action, Throwable t) { // 操作失敗的處理代碼 } public void onComplete(AbstractWeibo weibo, int action, HashMap res) { // 操作成功的處理代碼 } public void onCancel(AbstractWeibo weibo, int action) { // 操作取消的處理代碼 } } ); 3-4 授權 手動授權並不是必要的操作,但是ShareSDK 提供手動的授權操作,如下面的代碼演示 新浪微博的授權操作: ? 1 2 3 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME); weibo.setWeiboActionListener(waListener); weibo.authorize(); 授權結果將通過WeiboActionListener 介面返回。 3-5 獲取用戶資料 下面的代碼演示新浪微博獲取資料的方法,其他的平台(微信除外)也支持類似的操作: ? 1 2 3 String account = "3189087725"; AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME); weibo.setWeiboActionListener(waListener); weibo.showUser(account); 其中account 是准備獲取資料的帳號,如果account 為null,則表示獲取授權賬戶自己 的資料。 獲取資料前ShareSDK 會自行判斷平台是否已經授權,若未授權,會自行執行授權操作。 3-6 分享 下面的代碼演示通用的分享操作(QQ 空間、印象筆記請參考另外更合適其平台特性的 介面): ? 1 2 3 4 5 String text = 「測試分享的文本」; String image = 「/mnt/sdcard/測試分享的圖片.jpg」 ; AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME); weibo.setWeiboActionListener(waListener); weibo.share(text, image); 其中的text 是分享的文本內容,image 是分享圖片的本地路徑。 微信好友和微信朋友圈的分享,應該使用新的分享介面,具體操作可以參考Sample 中 的相關例子,下面的例子展示使用微信分享網頁的方法: ? 1 2 3 4 5 6 7 8 AbstractWeibo weibo = AbstractWeibo.getWeibo(menu.getContext(), Wechat.NAME); weibo.setWeiboActionListener(this); String title = "這是標題"; String text = "這是文本內容"; String url = "http://sharesdk.cn"; String thumbUrl = "/mnt/sdcard/網頁縮略圖.jpg"; weibo.share(AbstractWeibo.SHARE_WEBPAGE, title, text, url, thumbUrl); 其中的share(int, Object…)方法是新版本添加的分享介面,暫時支持微信兩個平台的分 享,但後續版本的分享功能會往這個方法遷移。 QQ 空間調用下面的介面更適合其平台特性: ? 1 2 3 4 5 6 String title = 「測試分享的標題」 String text = 「測試分享的文本」; String imageUrl = 「[url]http://www.someserver.com/[/url]測試分享的圖片.jpg」 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, QZone.NAME); weibo.setWeiboActionListener(waListener); weibo.share(title, null, null, text, imageUrl, "ShareSDK", "http://www.sharesdk.cn"); 對於介面的詳細解釋,請參考QQ 登錄平台的add_share 介面。 印象筆記的分享內容需要攜帶筆記標題,因此調用下面的介面更為合適: ? 1 2 3 4 5 6 String title = 「測試分享的標題」 String text = 「測試分享的文本」; String image = 「/mnt/sdcard/測試分享的圖片.jpg」 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, Evernote.NAME); weibo.setWeiboActionListener(waListener); weibo.save(title, text, image); 對於印象筆記,分享的share 介面依然可用,但是更好的介面是save。 執行分享前ShareSDK 會自行判斷平台是否已經授權,若未授權,會自行執行授權操作。 信息和郵件分享功能使用send 介面,具體例子如下: ? 1 2 3 4 5 6 7 String address = 」10086」; String title = 「測試分享的標題」 String text = 「測試分享的文本」; String image = 「/mnt/sdcard/測試分享的圖片.jpg」 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, ShortMessage.NAME); weibo.setWeiboActionListener(waListener); ((ShortMessage) weibo).send(address, title, text); 簡訊的分享只支持SMS 分享,如果直接分享MMS,則分享結果無法獲取。至於郵件, 不管分享方式如何,都無法直接獲取分享結果。 執行分享前ShareSDK 會自行判斷平台是否已經授權,若未授權,會自行執行授權操作。 3-7 關注指定用戶 當前的ShareSDK 已經實現了新浪微博和騰訊微博的關注功能,下面的代碼演示騰訊微 博的關注操作: ? 1 2 3 4 String account = "shareSDK"; AbstractWeibo weibo = AbstractWeibo.getWeibo( context,TencentWeibo.NAME); weibo.setWeiboActionListener(waListener); weibo.followFriend(account); 執行關注前ShareSDK 會自行判斷平台是否已經授權,若未授權,會自行執 行授權操作。 3-8 獲取平台資料庫 ShareSDK 將每一個平台的授權數據都緩存在SharedPreferences 中,並且相互獨立。 如果你希望獲取任何一個平台的授權數據,可以像下面這樣子做: ? 1 2 3 4 AbstractWeibo weibo = AbstractWeibo.getWeibo(this, TencentWeibo.NAME); String accessToken = weibo.getDb().getToken(); String openId = weibo.getDb().get("openid"); // 接下來執行你要的操作 不同平台都會緩存access token 等信息,可以通過getToken()或者setToken()進行操 作。此外,開發者還可以通過直接get()某個欄位的辦法,獲取其數據,如上面通過「openid」 欄位獲取到騰訊微博的openId。 3-8 取消授權 下面的代碼演示新浪微博取消授權的操作: ? 1 2 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME); weibo.removeAccount(); 此介面不需要WeiboActionListener,所以直接調用即可。

③ android sharesdk彈出的選擇分享平台界面中只有名稱沒有圖標logo是怎麼回事

沒有圖標很正常啊,可能原因如下:
1、圖標資源找不到或丟失;
2、圖標本身沒有,需要自定義;
3、版本兼容問題(不太會是這個原因);
碰到這種情況如何應對:
1、檢查介面,尋找是否有自定義圖標的方法;
2、自己去對應平台對接相關分享功能,而不用第三方統一的"ShareSdk";

④ 安卓開發怎麼用sharesdk做第三方分享

由於項目需要,最近需要做10幾個平台的分享,如果自己去集成,浪費很多時間,而且還很難成功。最後發現Sharesdk,可以滿足項目需求。 首先,需要到他們的官網http://sharesdk.cn/下載android版本的SDK。
然後玩了一下他們的sample,發現很符合項目的需求。
下面介紹,如何導入sample。

SDK是1.21版本的。
導入項目的時候,選擇下載的SDK解壓的文件目錄
例如,D:\My Documents\下載\Share SDK就可以

記得要勾選 Copy projects into workspace
導入sample後,右鍵sample->properties->android

然後remove掉XX
再add導入 OneKeyShare的項目就行,因為onekeyshare引用了mainlibs,有些環境引用兩個運行時會出錯

完成這步後,就可以運行sample,運行結果是

今天分享到這里,有問題的話,可以給我留言。

⑤ android sharesdk微信分享 創建應用時所需的應用簽名怎麼得到

根據這個頁面提供的一個工具簽名生成工具
https://open.weixin.qq.com/cgi-bin/readtemplate?t=resource/app_download_android_tmpl&lang=zh_CN
Android資源下載
開發工具包
開發第三方應用所需要的庫以及文件。點擊下載
範例代碼
包含了一個完整的範例工程。該範例的使用可以參閱Android平台上手指南:HelloWeixin@Android。點擊下載
簽名生成工具用於獲取安裝到手機的第三方應用簽名的apk包。點擊下載

可以一個字元串,類似於:
應用簽名:
安裝這個應用可以獲取本手機已經安裝的某個android軟體,根據軟體的包名,類似於:com.demo.AppX來查找這個軟體,以及獲取這個軟體的應用簽名。
還有一個工具是在
http://wiki.open.qq.com/wiki/mobile/SDK下載
Android_SDK_V2.3.1的tools目錄下有一個獲取簽名.apk,這個也可以獲取,但是我測試發現,只能顯示一部分的本機應用,有些應用查不到,就麻煩了..

⑥ MobTech旗下的ShareSDK如何配置第三方key的方式(針對Android)

快速集成
下載MobTech旗下SDK產品ShareSDK的Unity3D工具類,雙擊或導入ShareSDK.unitypackage導入相關文件。 注意該操作可能會覆蓋您原來已經存在的文件。
掛接ShareSDK腳本並配置平台信息
選擇好需要掛接的GameObject(例如Main Camera),在右側欄中點擊Add Component,選擇Share SDK 進行掛接。
掛接後會發現提供了當前支持的平台和及其配置信息。可以直接在此處修改你所需要的平台的配置信息。需要注意的是當前的編譯環境是Android還是iOS,其欄位名稱是不同的哦!
Android編譯配置
關鍵文件:mainTemplate.gradle和proguard-user.txt
Unity2017及以上版本,在Build Settings > Player Settings下面,有兩個開關,新建項目的話打開這兩個開關就可以在Plugins>Android生成對應的兩個文件;由於這兩個文件ShareSDK都有直接提供,只需導入.unitypackage就好,Unity檢測到已經存在這兩個文件,自動會更新為勾選狀態;
Build的時候有一個Build System選項,此選項默認選擇的Internal,切記要改成選擇裡面的gradle選項(重要)
圖中所示的mainTemplate.gradle文件,即為集成的核心文件,使用編輯器打開此文件,要點內容如下:
此處為區分Unity5.6和Unity2017 gradle插件版本的地方,開發時用到哪個版本就使用哪個,若使用到其他Unity版本,請隨意選擇一個,然後build,編譯的時候會報錯的,Console控制台信息報錯時會提示插件版本是多少,根據提示修改成需要的版本就好(只修改後面的數字,比如:2.3.0或者2.1.0)

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'//Unity2017
//classpath 'com.android.tools.build:gradle:2.1.0'//Unity5.6
// 注冊MobSDK
classpath 'com.mob.sdk:MobSDK:+'
}
}

⑦ android sharesdk 分享成功執行的什麼方法

使用ShareSDK步驟
1. ShareSDK官網,創建應用 獲取Key
2. ShareSDK官網,下載SDK
3. 使ShareSDK的DEMO正常運行
(類庫:ShareSDK for Android
demo:ShareSDK for Android Sample)
4.創建新的項目
5.去各平台注冊key
新浪微博:
a.證書簽名需要個人證書導出項目時獲取到
MD5 : 91:F0:5B:CE:67:58:F1:A1:E8:70:A4:F3:FA:5F:87:1B
證書格式為小寫字母並不含:

b.授權回調頁:https //api weibo com/oauth2/default.html
6.sample里所有的圖片以及values拷入當前新的項目:

此時需要修改 main_activity.xml and menu.xml 中跟 @String/ 有關的信息!

7.sample里asset里Sharesdk.xml拷入當前新的項目,並且修改指定內容
RedirectUrl:如果指定授權回調頁,就填寫回調頁,如沒有,就填寫應用網址
8.需要把sample里mainifest中的許可權拷入當前新的項目
9.sample里mainifest中的ShareSDKUIShell,activity注冊到當前新的項目中,代碼如下:
<activity
android:name="cn.sharesdk.framework.ShareSDKUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:windowSoftInputMode="stateHidden|adjustResize" >
</activity>
10.拷入需要用到的jar包
必拷:mframework.jar
必拷:ShareSDK-Core-2.3.8jar
分享指定平台:
ShareSDK-XXX.jar
11.將onkeyshare包拷貝到當前項目中

分享步驟:

***************************
1.初始化ShareSDK
ShareSDK.init(this);
2.設置指定平台
Platform p=ShareSDK.getPlatform(XXX.NAME);
3.設置平台監聽器
p.setPlatform
AcitonListener{

1.error

2.complete

3.cancel
}
4.進行授權
p.rauthorize();
5.重寫平台監聽器中的complete
獲取某平台參數對象
Platform.ShareParams ps=
new XXX.ShareParams();
添加要分享的數據
ps.setText/setImageUrl/set..

熱點內容
刷機安卓10狀態欄圓角如何修復 發布:2024-04-24 21:24:00 瀏覽:133
創建sql資料庫的命令是什麼 發布:2024-04-24 21:23:58 瀏覽:41
不是安卓該如何下載畫質怪獸 發布:2024-04-24 21:18:51 瀏覽:699
php載入網頁 發布:2024-04-24 21:15:20 瀏覽:159
遠程伺服器更換ip地址 發布:2024-04-24 21:14:43 瀏覽:526
什麼時候上線華為方舟編譯器軟體 發布:2024-04-24 21:10:21 瀏覽:629
安卓布局文件指的是哪個 發布:2024-04-24 21:08:05 瀏覽:887
磁帶存儲價格 發布:2024-04-24 21:04:22 瀏覽:900
誤刪除文件夾恢復工具 發布:2024-04-24 20:31:57 瀏覽:383
php介面編寫 發布:2024-04-24 20:31:06 瀏覽:68