Android进阶2之oauth认证中UC无法跳转的问题

原创 2012年03月26日 20:28:13

在开发新浪微博,网易微薄,搜狐微博等等android客户端的时候需要oauth认证,也就是要打开一个第三方提供的认证网页进行授权。

用户在授权之后会再跳转回应用完完成授权。在请求用户授权的时候会提供一个callback地址,用户完成授权操作后会跳转回这个地方一般是某个Activity。

但由于某些原因第三方浏览器例如UC浏览器无法完成跳转,系统自带浏览器却可以。

本博文就给出一个解决方案来解决这个问题。

Intent i=new Intent();
 
i.setAction(Intent.ACTION_VIEW,Uri.parse("http://veikr.com"));
 
startActivity(i);
来打开某个网址。如果你的手机上没有第三方的浏览器例如UC等你可以正常使用,但是很不幸的是一般手机用户都会安装UC浏览器。

第三方浏览是无法支持自定义schema的(比如myapp://AuthActivity)。

 <activity
            android:name=".AuthActivity"
            android:label="@string/app_name"
            android:launchMode="singleTask" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="AuthActivity"
                    android:scheme="myapp" />
            </intent-filter>
        </activity>
 <data
                    android:host="AuthActivity"
                    android:scheme="myapp" />

我们既不想卸载掉我们的UC,又想完成认证怎么办呢?

看看以下的方法:

Intent intent = new Intent();
			ComponentName name = new ComponentName("com.android.browser", "com.android.browser.BrowserActivity");
			intent.setComponent(name);
			intent.setData(Uri.parse(authUrl));
			intent.setAction(Intent.ACTION_VIEW);
			activity.startActivity(intent);

anthUrl是Url网址。

你需要把”myapp://AuthActivity”作为callback传递给新浪的oauth认证地址,在完成认证后会返回这个地址,然后你的应用程序就会跳到这个AuthActivity中去在oncreate中使用getIntent().getData()就可以得到uri,pin就在uri中。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android进阶2之新浪微博采用Oauth发送图片和文字

本以为新浪发布图片和发布文字一样的简单,但很悲剧。。。。。。。远不是想象的那样。 现在分享一下代码。 /** * 发表带图片的微博 * * @param token * @p...

新浪开放平台---oauth2认证流程 casperjs自动登录和授权 api需要注意的问题及bug

官网 http://open.weibo.com/ API http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2 SDK http://open.w...

网站开发进阶(三十七)JSP页面跳转问题解决

JSP页面跳转问题解决 PS:本篇博文质量欠佳,仅供个人学习之用。前言      在做Web开发时,对别人的应用(jsp+servlet)进行服务器部署时出现了页面跳转无效的情况。但是项目在本地未出现...

巧解傲游插件OAUTH的跳转问题

在前面的新浪微博开放平台历险一文中,提到了开发浏览器微博插件时,如果要进行OAUTH认证时,为了避免跳转到本地页面,实现方式是通过新浪微博的callback=json方式,前台让用户输入用户名和密码,...
  • hfahe
  • hfahe
  • 2011-01-26 15:05
  • 1747

android 跳转指定浏览器访问指定页面(支持UC、Opera、QQ、Dolphin、Skyfire、Steel、Google)

先看一下系统浏览器com.android.browser 启动类在AndroidManifest.xml 中的声明: [xhtml] view plaincopyprint? ...

Android进阶之路 - 网络状态监听与跳转网络设置

阅读此文,并实现功能,仅需“5-10分钟”开发中我们可能会经常用到网络状态的监听,这个Demo也是我搜集之后,单独抽出部分代码,简单集成之后运行在了自己的Demo上。适用场景: 没有细分Wife与数...

Android进阶篇-Oauth认证

http://www.cnblogs.com/gongcb/archive/2012/08/11/2633663.html Oauth认证作为当前主流的开发公共API认证方式,越来越受到一些...

【Android进阶】判断网络连接状态并自动界面跳转

用于判断软件打开时的网络连接状态,若无网络连接,提醒用户跳转到设置界面 /** * 设置在onStart()方法里面,可以在界面每次获得焦点的时候都进行检测 */ @Override ...

cocos2d-x中的无法使用replaceScene跳转的问题

基于cocos2d-x 2.1.3开发如下代码: void LoadScene::onEnter() { this->runAction(CCCallFunc::create(this, cal...

Shiro整合SSH开发3:配置Shiro认证后页面地址跳转问题(和详述不配置需要注意的问题)

在视频教程中讲请求认证成功后跳转页面的问题是一笔带过的,但是我觉得有必要单独写一篇对应的文章进行叙述。      我用了SSH来整合Shiro,在开发后验证的过程中,每次登陆后Shiro都会跳转到一个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)