android新浪微博分享
『壹』 android 分享新浪微博問題
我雖然對新浪SDK不熟,但仍然覺得應該確認兩個地方:
1、requestToken確保不為空
2、uri.getQueryParameter("oauth_verifier")確保不為空。
這樣你就能夠定位到是哪個地方出空指針了!
『貳』 求助Android新浪微博分享,加上WebpageObject 就沒有反應
setRedirectUrl("");這個是設置回調頁,在新浪開放平台,首先登錄,自己創建一個應用,然後得到AppKey和AppSecret,weibo.setupConsumerConfig(Weibo.getAppKey(), Weibo.getAppSecret());替換為你申請到的AppKey,AppSecret, 你設置的 然後在我的應用》應用信息》高級信息 里有個「應用回調頁」設置就好了,隨便你設置什麼網址,但客戶端要與次設置一致就好了。
『叄』 現在的android版SDK中,進行微博分享必須要通過微博客戶端嗎
本文介紹了如何在Android程序中使用新浪微博提供的AndroidSDK
微博Android平台SDK為第三方微博應用提供了文檔易用的微博API調用服務,使第三方客戶端無需了解復雜的驗證,API調用過程。並可以實現分享到微博的功能,可以分享文字,或者多媒體信息到內置的分享頁面,並發送到微博。
首先我們需要在新浪微博開放平台上進行注冊,之後需要創建一個新的應用,並且需要記下應用的APP key,App Secret Key以及設置應用的回調頁以便我們在程序中進行使用。此外,還需要在應用的高級信息里添加測試用戶的uid,切記切記,否則會出現登陸不成功等怪現象。
接著我們下載微博提供的Android上的SDK,下載地址在這里http。//open。weibo。com/wiki/SDK,選擇AndroidSDK進行下載即可。
使用方法:
首先將下載的sdk進行解壓,並將其導入到eclipse中,接著在你需要使用sdk的android工程中點擊右鍵,屬性,設置library屬性,選中剛才導入的weibosdk即可。如圖所示
然後在你的工程的Manifest文件中,加入以下許可權:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
這樣我們就能使用weibosdk了
建立工程以後如何在代碼中使用weiboAPI呢,下面就由我來為大家介紹使用方法:
首先在你需要使用微博的Activity中加入以下代碼:
Weibo weibo = Weibo.getInstance();
weibo.setupConsumerConfig(Constants.CONSUMER_KEY,Constants.CONSUMER_SECRET);
weibo.setRedirectUrl("Your URLhere");
weibo.authorize(this,
listener);
注意代碼中的Constants.CONSUMER_KEY,Constants.CONSUMER_SECRET即是文章開頭介紹的在微博上創建的應用里的兩個key,setRedirectUrl中的內容即是在應用中設置的回調頁。
Listener則是在進行登陸授權後對執行結果進行處理的Litener,代碼如下
public class AuthDialogListener implements WeiboDialogListener {
private Activity context;
private String content;
private String file;
private float lat;
private float lon;
private static boolean isOver=true;
public AuthDialogListener(Activity context,String content,String file,float lat,float lon){
this.context= context;
this.content=content;
this.file=file;
this.lat=lat;
this.lon=lon;
}
@Override
public void onComplete(Bundle values) {
String token = values.getString("access_token");
String expires_in = values.getString("expires_in");
String oauth_verifier = values.getString("oauth_verifier");
AccessToken accessToken = new AccessToken(token, Constants.CONSUMER_SECRET);
accessToken.setExpiresIn(expires_in);
accessToken.setVerifier(oauth_verifier);
Weibo.getInstance().setAccessToken(accessToken);
try {
if (isOver) {
isOver=false;
share2weibo(this.content,null,listener,lat,lon);
}
} catch (WeiboException e) {
e.printStackTrace();
}
}
@Override
public void onError(DialogError e) {
Toast.makeText(context.getApplicationContext(),
"Auth error : " + e.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public void onCancel() {
Toast.makeText(context.getApplicationContext(), "Auth cancel",
Toast.LENGTH_LONG).show();
}
@Override
public void onWeiboException(WeiboException e) {
Toast.makeText(context.getApplicationContext(),
"Auth exception : " + e.getMessage(), Toast.LENGTH_LONG)
.show();
}
private void share2weibo(String content,String file,RequestListener listener,float lat , float lon) throws WeiboException {
Weibo weibo = Weibo.getInstance();
WeiboParameters params= new WeiboParameters();
params.add("access_token", weibo.getAccessToken().getToken());
params.add("status", content);
params.add("lat", String.valueOf(lat));
params.add("long", String.valueOf(lon));
String url = Weibo.SERVER + "statuses/update.json";
if (file!=null&&!file.equalsIgnoreCase("")) {
params.add("pic", file);
url = Weibo.SERVER + "statuses/upload.json";
}
AsyncWeiboRunner runner = new AsyncWeiboRunner(weibo);
runner.request(this.context, url, params,Utility.HTTPMETHOD_POST,listener);
}
RequestListener listener= new RequestListener() {
@Override
public void onIOException(IOException e) {
isOver=true;
Toast.makeText(context, "RequestListener "+e.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public void onError(WeiboException e) {
isOver=true;
Toast.makeText(context, "RequestListener "+e.getMessage(), Toast.LENGTH_LONG).show();
}
@Override
public void onComplete(String response) {
isOver=true;
Toast.makeText(context, "Success!", Toast.LENGTH_LONG).show();
}
};
}
需要完成WeiboDialogListener介面中的方法,分別是onComplete,OnError,
OnCancel,OnWeiboException。其中Oncomplete是在微博登陸授權成功後會執行的方法,在這個方法中,你可以調用你想要的功能如發表微博,轉發,評論等。使用的代碼可參看以下代碼:
Weibo weibo = Weibo.getInstance();
WeiboParameters params= new WeiboParameters();
params.add("access_token", weibo.getAccessToken().getToken());
params.add("status", content);
params.add("lat", String.valueOf(lat));
params.add("long", String.valueOf(lon));
String url = Weibo.SERVER + "statuses/update.json";
AsyncWeiboRunner runner = new AsyncWeiboRunner(weibo);
runner.request(this.context,url,params,Utility.HTTPMETHOD_POST,listener);
其中params是調用weibo api中需要的具體參數,可根據需要進行添加
AsyncWeiboRunner 是用來執行具體請求的類,根據你設定的參數發起請求。注意這里又有一個listerner,而這個listener是對發起請求後的結果進行處理的回調類,
RequestListener listener= new RequestListener()
需要復寫的方法有OnIOException,onError,onComplete,這樣可以清楚地對各種情況進行處理。
這樣在程序中就可以使用新浪微博 android sdk了。
『肆』 求一個android端新浪微博分享文字圖片功能實現的工程,要能運行,最好有注釋,有的朋友可以發我,謝了。
1.首先確認你的機子已經root了,各種機型root可以在度娘搜索到。2.root後,安裝RE文件管理器(es管理器也行),進入RE管理器後,修改為讀寫,打開system文件夾,然後長按build.prop3.選著以文本方式編輯器打開4.查找「型號:ro.proct.model=**、廠商:ro.proct.manufacturer=**」這兩個,對照下面列表修改,注意大小寫。這里很關鍵一部,有些童鞋說修改了還是不行,細心開發現有兩處「ro.proct.model=」,這兩處都要修改的5.修改完後,按菜單鍵,選著保存並退出6.重啟你的手機,然後用官方微博test一下。至此,所有步驟完畢!!裝高富帥去吧!下面是顯示來源:來源HTC One X型號HTC S720e廠商HTC來源HTC One S型號HTC Z520e廠商HTC來源HTC One V型號HTC T320e廠商HTC來源HTC靈感 型號HTC Z710t廠商HTC來源HTC靈感XL.urBeats 型號HTC Sensation XL with Beats Audio X315e廠商HTC來源HTC靈感XE.urBeats型號HTC Sensation XE with Beats Audio Z715e廠商HTC來源HTC微客 型號HTC C510e廠商HTC來源HTC 傾心 型號HTC S510b廠商HTC來源HTC 新渴望V 型號HTC T328w廠商HTC來源TMOTO鋒芒智能手機 型號XT910廠商motorola來源MOTO鋒麗智能手機 型號XT615廠商Motorola來源MOTO戴妃三防智能手機 型號XT320?廠商motorola來源三星GalaxyNote 型號GT-I9220廠商samsung來源小米手機 型號MI-ONE Plus廠商Xiaomi
『伍』 用html5寫的android應用怎樣添加分享到新浪微博按鈕
首先你需要申請一個新浪微博APP的帳號
看新浪微博提供的公開介面,學會怎麼使用,然後在你的應用中利用這些介面
『陸』 android 怎麼快速實現新浪微博分享功能
Android進階之使用第三方平台ShareSDK實現新浪微博的一鍵分享功能。
ShareSDK是一種社會化分享組件,為iOS、Android、WP8
的APP提供社會化功能,集成了一些常用的類庫和介面,縮短開發者的開發時間,還有社會化統計分析管理後台。ShareSDK移動開發者服務平台由廣州掌淘網路科技有限公司開發。
『柒』 安卓手機微博為什麼分享不到微信上
可以分享到微信上的:
1、首先在手機新浪微博軟體裡面打開你想要分享的那條微博正文
2、點擊右上角,就會出來分享界面,分享給微信朋友或者朋友圈都可以
『捌』 android 分享內容到新浪微博
不是,你可以去看看sina 的開放API,裡面寫的很詳細告訴你怎麼做。
原理就是你下一個sina的jar包放到你項目里,在配置申請的key,之後就根據文檔做些借口調用就好了。
『玖』 為什麼安卓版新浪微博無法分享到微信朋友圈
有時候,我們新浪微博上看到很有用或者很歡樂的信息,很希望將它分享到微信朋友圈與朋友們共同享受。下面以安卓系統為例介紹如何分享。
工具/原料
安卓系統,微信,新浪微博手機客戶端
方法/步驟
打開微博客戶端,找到想分享的內容,點擊進去
進入正文,點擊右上角「...」更多 標志
在彈出的框中點擊朋友圈標志,再點擊分享即可。