调用新浪微博显示用户信息
最近需要在开发的安卓项目中添加新浪微博一件关注的功能, 本来是一个很简单的功能, 就是调用新浪微博客户端显示用户信息的 Activity
, 然后用户就点击关注按钮就可以了。 本来是很简单的功能, 可以网上找到的几乎都是 JS 的代码, 或者是要注册新浪微博 SDK 的代码, 这么简单的功能应该不用注册什么 SDK 的, 也不想参合什么 JS , 只要研究一下新浪微博客户端的 Activity
就可以了。
首先我们需要使用 AXMLPrinter2.jar 反编译新浪微博的 AndroidManifest.xml
, 从中查找显示用户信息的页面, 反编译代码如下:
java -jar AXMLPrinter2.jar AndroidManifest.xml > a.xml
打开反编译出来的 a.xml
, 搜索 userinfo
, 很幸运的找到了 UserInfoActivity
,如下所示:
<activity android:theme="@7F0B0029" android:name="UserInfoActivity" android:configChanges="0x000000A0"> <intent-filter> <action android:name="android.intent.action.VIEW"> </action> <category android:name="android.intent.category.DEFAULT"> </category> <categoryandroid:name="android.intent.category.BROWSABLE"> </category> <data android:scheme="sinaweibo" android:host="userinfo"> </data> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"> </action> <category android:name="android.intent.category.DEFAULT"> </category> <category android:name="android.intent.category.BROWSABLE"> </category> <data android:scheme="http" android:host="weibo.cn" android:path="/qr/userinfo"> </data> </intent-filter> </activity>
UserInfoActivity 注册了两个 intent-filter
, 第一个注册的 url 是 sinaweibo://userinfo?uid=3444956000
, 有了这个信息, 通过如下的代码调用新浪微博客户端显示用户信息了:
var intent = new Intent(Intent.ActionView);
var uri = Android.Net.Uri.Parse("sinaweibo://userinfo?uid=3444956000");
intent.SetData(uri);
var chooseIntent = Intent.CreateChooser(intent, "Weibo"); StartActivity(chooseIntent);
不过, 上面代码的前提是用户已经安装了新浪微博客户端,否则运行会报错, 幸好还有第二个, 我们可以使用下面的代码进行调用:
var intent = new Intent(Intent.ActionView);
var uri = Android.Net.Uri.Parse("http://weibo.cn/qr/userinfo?uid=3444956000");
intent.SetData(uri);
var chooseIntent = Intent.CreateChooser(intent, "Weibo"); StartActivity(chooseIntent);
上面代码的效果是:
- 如果用户没有安装新浪微博, 则直接调用浏览器打开那个地址;
- 如果用户安装了新浪微博, 则会显示下面的对话框让用户选择:
再次鄙视一下新浪微博的开放程度, 居然有这个功能都不开放。
本来打算用相同的方法在腾讯微信上做相同的功能, 却发现腾讯已经将显示微信号的 Activity 设置为私有的 android:exported="false"
, 居然比新浪还要封闭, 真是无语了!
调用新浪微博显示用户信息相关推荐
- 用户控件(显示用户信息,修改用户名密码)的WebPart预览版
*********************************************************************** * ...
- 用户输入自己的【姓名 年龄 爱好】 + 加CP【姓名 年龄 爱好】,点击按钮,页面显示该用户的信息 点击提交按钮,JSON显示用户信息+副本信息(副本初始值是{})
本文主要是利用了BOM.DOM和json/js数据的转换等知识来综合操练的一个小例子 例子如下: 用户输入自己的[姓名 年龄 爱好] + 加CP[姓名 年龄 爱好],点击按钮,页面显示该用户的信息 点 ...
- 编写一个用户类(Sysuser),属性包括用户名、真实姓名、年龄、出生日期、密码,类方法中包含单独修改用户年龄、判断用户名和密码、显示用户信息功能,在用户测试类中(TestSysuser),根据用户输
#本关任务: 编写一个用户类(Sysuser),属性包括用户名.真实姓名.年龄.出生日期.密码,类方法中包含单独修改用户年龄.判断用户名和密码.显示用户信息功能,在用户测试类中(TestSysuser ...
- android 从新浪微博获取用户信息,Android授权登录新浪微博获取用户个人信息
Android授权登录新浪微博获取用户个人信息 Android授权登录新浪微博获取用户个 人信息 一.准备工作 我们都知道,无论是分享到新浪微博,还是获取新浪微博的用户信息,都离不开一样东西,那就是新 ...
- Linux 命令之 whois 命令-用于查找并显示用户信息
文章目录 介绍 参考示例 介绍 whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没 ...
- Android授权登录新浪微博获取用户个人信息
转载请注明出处:http://blog.csdn.net/u010214991/article/details/49149793 记得第一次发博文的时候我写了一篇文章,题为" Android ...
- 简单的java信息显示_JSP实现简单的用户登录并显示出用户信息的方法
本文实例讲述了jsp实现简单的用户登录并显示出用户信息的方法.分享给大家供大家参考.具体实现方法如下: login.jsp string path = request.getcontextpath() ...
- python爬取新浪微博内容_python新浪微博爬虫,爬取微博和用户信息 (含源码及示例)...
[实例简介] 这是新浪微博爬虫,采用python+selenium实现. 免费资源,希望对你有所帮助,虽然是傻瓜式爬虫,但是至少能运行.同时rar中包括源码及爬取的示例. 参考我的文章: http:/ ...
- uniapp同步获取用户信息_微信小程序云开发教程微信小程序的API入门获取用户身份信息系列API...
同学们大家好,我是小伊同学,上一节我们介绍了一些常用API,今天我们接着来学习一组API,那就是获取用户身份信息的API. 在微信小程序中,我们往往需要获取用户的身份信息,比如昵称.头像.性别.地区等 ...
- .NET 实现自定义ContextUser的Identity和Principal实现自定义用户信息,权限验证。
.NET 实现自定义ContextUser的Identity和Principal 在传统的.NET中,我们可以通过 [csharp] view plaincopyprint? User.Identit ...
最新文章
- Smali插桩打日志
- 一个简单的HTTP通讯的例子,使用了CInternetSession,CHttpConnection,CHttpFile三个类
- Sequence in the Pocket
- Linux的cmake3的安装 cmake3编译安装成功了的 yum对于cmake3表示成功但实际没成功
- [USACO07NOV]牛继电器Cow Relays
- 【SAM】差异(P4248)
- 常用技巧 —— 位运算 —— 位运算基础
- 计算机怎么调整显示英语翻译,翻译词汇:计算机显示英语词汇 口译词汇
- java删除目录下符合条件的文件
- hdoj1116【欧拉回路】
- AJAX和select,绑定值,动态加载select的Item值,设置所选的值 (全都是客户端控件)...
- ext3日志模式---文件系统
- java画地图热力图_高德地图+热力图+AJAX(SSM)
- 2022最新全天狼星网络验证系统源码
- 干货分享!软考中高项案例分析10大管理领域理论背诵要点
- xp信息服务器iis5.0,XP中安装iis5.0/IIS6.0的详细操作方法步骤(图文教程)
- Material UI 带复选框表格获取选中值(索引)
- 秒懂设计模式之责任链模式(Chain Of Responsibility Pattern)
- element的table组件,表头合并(合并表头单元格)
- 前端想自学后找个小公司混口饭吃,需要学到什么程度?
热门文章
- fiddler实现将http请求的js转为本地的js文件
- 学习使用Ansj分词工具(一)
- 统计学学生学python吗_用Python学习统计学基础-4
- cmake错误:Could not find a package configuration file provided by 的一种解决方法
- 小米平板android版本,小米平板2发布:分Android和Wind 10两个版本
- 如何在Eclipse配置Tomcat
- 【Alpha】“北航社团帮”小程序v1.0发布声明
- 4、组件注册-自定义TypeFilter指定过滤规则
- 《TCP/IP 详解 卷1:协议》第 2 章:Internet 地址结构
- inittab 分析