网站调用新浪微博内容(AXMLPrinter2.jar反编译新浪微博的开放程度,居然比新浪还要封闭)

优采云 发布时间: 2021-09-22 10:11

  网站调用新浪微博内容(AXMLPrinter2.jar反编译新浪微博的开放程度,居然比新浪还要封闭)

  首先,我们需要使用AXMLPRINTER 2. jar decompile weibo androidmanifest.xml,显示页面从中查找信息,反编译代码如下:

  java -jar AXMLPrinter2.jar AndroidManifest.xml > a.xml

  打开decompile out a.xml,搜索userinfo,非常幸运地找到userinfoactivity,如下所示:

  userInfoactivity注册了两个意图过滤器,第一个注册的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);

  代码的上述效果是:

  如果您没有安装新浪微博,则浏览器将打开对该地址的直接呼叫;如果安装了用户新浪微博,则将显示以下对话框允许用户选择:

  

  再次鄙视新浪微博的开放性,实际上有这个功能不打开。

  旨在使用相同的方法在腾讯微字母上做同样的函数,但发现腾讯已显示活动微信号设置为私有android:导出=“假”,实际上已经关闭了新浪,真的无言而喻!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线