在開發(fā)新浪微博,網(wǎng)易微薄,搜狐微博等等android客戶端的時(shí)候需要oauth認(rèn)證,也就是要打開一個(gè)第三方提供的認(rèn)證網(wǎng)頁進(jìn)行授權(quán)。
用戶在授權(quán)之后會(huì)再跳轉(zhuǎn)回應(yīng)用完完成授權(quán)。在請(qǐng)求用戶授權(quán)的時(shí)候會(huì)提供一個(gè)callback地址,用戶完成授權(quán)操作后會(huì)跳轉(zhuǎn)回這個(gè)地方一般是某個(gè)Activity。
但由于某些原因第三方瀏覽器例如UC瀏覽器無法完成跳轉(zhuǎn),系統(tǒng)自帶瀏覽器卻可以。
本博文就給出一個(gè)解決方案來解決這個(gè)問題。
來打開某個(gè)網(wǎng)址。如果你的手機(jī)上沒有第三方的瀏覽器例如UC等你可以正常使用,但是很不幸的是一般手機(jī)用戶都會(huì)安裝UC瀏覽器。
第三方瀏覽是無法支持自定義schema的(比如myapp://AuthActivity)。
<data
android:host="AuthActivity"
android:scheme="myapp" />
我們既不想卸載掉我們的UC,又想完成認(rèn)證怎么辦呢?
看看以下的方法:
anthUrl是Url網(wǎng)址。
你需要把”myapp://AuthActivity”作為callback傳遞給新浪的oauth認(rèn)證地址,在完成認(rèn)證后會(huì)返回這個(gè)地址,然后你的應(yīng)用程序就會(huì)跳到這個(gè)AuthActivity中去。在oncreate中使用getIntent().getData()就可以得到uri,pin就在uri中。
posted on 2012-03-26 20:28
mixer-a 閱讀(309)
評(píng)論(0) 編輯 收藏