Android實(shí)現(xiàn)分享微信好友及出現(xiàn)閃退的解決辦法
1.申請微信APPID
要實(shí)現(xiàn)分享到微信的功能,首先要到微信開放平臺申請一個(gè)APPID。但在申請APPID的時(shí)候需要填寫一個(gè)應(yīng)用簽名和應(yīng)用包名。需要注意的是包名必須與開發(fā)應(yīng)用時(shí)的包名一致,應(yīng)用簽名也必須去掉冒號而且字母為小寫。
2.應(yīng)用簽名的獲取
開發(fā)android應(yīng)用的人很多,很有可能類名、包名起成了同一個(gè)名字,簽名這時(shí)候就起到區(qū)分的作用。
所有的Android應(yīng)用都必須有數(shù)字簽名,不存在沒有數(shù)字簽名的應(yīng)用,包括模擬器運(yùn)行的。模擬器開發(fā)環(huán)境,開發(fā)時(shí),通過ADB接口上傳的程序會自動(dòng)被簽有Debug權(quán)限,然后才傳遞到模擬器。打開Eclipse的Window-->preferences-->Android-->Buid菜單選項(xiàng)如下圖,顯示的是默認(rèn)的調(diào)試用的簽名數(shù)字證書。
然而使用微信的分享功能需要使用正式發(fā)布Android應(yīng)用時(shí)的簽名,才不會出現(xiàn)閃退現(xiàn)象。
為了生成一個(gè)正式發(fā)布的應(yīng)用的簽名,首先我們需要一個(gè)keystore:
cmd命令行進(jìn)入到JDK的bin目錄,這樣待會生成的android.keystore文件就會在這個(gè)目錄下;進(jìn)入bin目錄后輸入
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
接著會顯示輸入keystore密碼:
再次輸入新密碼:
您的姓名與姓氏是什么?
您的組織單位名稱是什么?
您的組織名稱是什么?
......
最后要你確認(rèn)以上信息是否正確,確認(rèn)就輸入 Y
輸入<android.keystore>的主密碼(如果和 keystore 密碼相同,按回車): (博主我按了回車)
接著回到eclipse中,右擊項(xiàng)目-->android tools-->Export signed Application Packages,選擇需要export的項(xiàng)目名,點(diǎn)擊next,Use existing keystore,location里選擇jdk的bin目錄里剛剛生成的android.keystore,輸入剛剛在cmd里設(shè)置的密碼,點(diǎn)擊next,再次輸入密碼,點(diǎn)擊next,選擇apk存放的位置,如下圖
MD5就是我們在微信開放平臺需要輸入的應(yīng)用簽名(注意字母要小寫,冒號去掉)。
在微信開發(fā)平臺點(diǎn)擊提交審核后,一般一天內(nèi)就可以通過審核,此時(shí)在管理中心,我們就可以看到APPid
3.在應(yīng)用中使用微信分享功能
創(chuàng)建微信api
private static final String APP_ID = "申請到的APPID"; private IWXAPI api; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); api = WXAPIFactory.createWXAPI(getActivity(), APP_ID); api.registerApp(APP_ID); } [java] view plain copy 在CODE上查看代碼片派生到我的代碼片 //創(chuàng)建一個(gè)用于封裝待分享文本的WXTextObject對象 WXTextObject textObject = new WXTextObject(); textObject.text = text;//text為需要分享的文本字符串 //第2步:創(chuàng)建WXMediaMessage對象,該對象用于Android客戶端向微信發(fā)送數(shù)據(jù) WXMediaMessage msg = new WXMediaMessage(); msg.mediaObject = textObject; msg.description = "日程信息"; //第3步:創(chuàng)建一個(gè)用于請求微信客戶端的SendMessageToWX.Req對象 SendMessageToWX.Req req = new SendMessageToWX.Req(); req.message = msg; //設(shè)置請求的唯一標(biāo)識 req.transaction = buildTransaction(text); req.scene = SendMessageToWX.Req.WXSceneSession; // 第4步:發(fā)送給微信客服端 api.sendReq(req);
每一次修改后的調(diào)試都要export一次apk,然后安裝apk,除非不是調(diào)試微信分享功能則可直接run;調(diào)用其他api如百度地圖需要應(yīng)用簽名的,也要注意調(diào)試時(shí)的簽名和正式發(fā)布應(yīng)用的簽名不一樣。
以上內(nèi)容是小編給大家介紹的Android實(shí)現(xiàn)分享微信好友及出現(xiàn)閃退的解決辦法,希望對大家有所幫助!
相關(guān)文章
Android常用的AlertDialog對話框及自定義對話框
本文主要介紹了android常用的AlertDialog對話框及自定義對話框的相關(guān)知識。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04Android利用GridView實(shí)現(xiàn)單選效果
本篇文章主要介紹了Android利用GridView實(shí)現(xiàn)單選效果的相關(guān)知識,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05Android 應(yīng)用中插入廣告詳解及簡單實(shí)例
這篇文章主要介紹了Android 應(yīng)用中插入廣告詳解及簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-10-10Android編程實(shí)現(xiàn)變化的雙重選擇框功能示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)變化的雙重選擇框功能,結(jié)合實(shí)例形式分析了Android雙重選擇框功能的樣式布局與功能實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-10-10android音樂播放簡單實(shí)現(xiàn)的簡單示例(MediaPlayer)
本篇文章主要介紹了android音樂播放簡單實(shí)現(xiàn)的簡單示例(MediaPlayer),具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08Android強(qiáng)制設(shè)定橫屏?xí)r,SurfaceView一直黑屏
本文主要介紹了Android強(qiáng)制設(shè)定橫屏?xí)r,SurfaceView一直黑屏的方法。具有一定的參考作用,下面跟著小編一起來看下吧2017-01-01Android自定義View onDraw()方法會調(diào)用兩次的問題解決
這篇文章主要介紹了Android自定義View onDraw()方法會調(diào)用兩次的問題解決,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01