Android调用系统分享的坑与救赎

作者: dsx | 来源:发表于2017-06-15 19:39 被阅读998次

    因为最近刚刚进入新公司,还在熟悉业务中,所以带我的师傅让我关注关注Android的非SDK式的分享,也就是所谓的调用系统分享,不需要去申请appkey什么,简单方便,因此也跟我提了一个需求,就是直接调起具体的分享页,比如说如果分享到新浪微博,则不需要再点击微博进入,而是直接进入微博的具体分享页。为什么需要调用系统的分享,因为单纯的sdk分享并不支持多图模式的分享。

    首先,我们得了解常用的分享平台,微信、微信朋友圈、新浪微博、QQ和QQ空间,这五个是最基本也是最常用的分享平台,我们也在这五个上面进行分享的操作。

    另外,我们也给自己提一个需求,简单点就是在某个文件夹下面遍历里面的图片,然后将这些图片分享到各大平台。所以我们先找到一个存放图片的路径,MainActivity中的onCreate()方法中定义

    1.找到存放图片的路径

    找到路径之后,我们需要对这个目录进行遍历操作

    2.遍历文件下的jpg图片

    新建一个ShareUtils的工具类,里面封装了分享的方法

    废话少说,先看代码

    微信分享

    3.微信朋友圈的分享

    关注ComponentName这里面的两个参数,第一个参数是微信的包名,另一个是跳转到具体分享页的类路径。

    接下来是QQ的分享

    4.QQ的分享

    QQ Zone的分享

    5.QQ zone的分享

    新浪微博的分享

    6.新浪微博的分享

    这些代码都是大同小异,只要关注包名和类名就行,新浪微博比较特殊,之前也是设置类名和包名的,但是发现没有用,后来直接通过设置包名,发现成功了,估计新浪为了安全考虑,就隐藏了跳转具体类的用法

    Tips:当你找不到这些具体类的时候,可以下一个淘宝联盟,然后通过Android studio抓取系统日志,下面附上具体跳转的类名和各应用的包名,另外网上很多东西都过时了,不如自己抓取看看来的放心,可以少走很多弯路。

    新浪微博包名:com.sina.weibo

    微信:com.tencent.mm  跳转类:com.tencent.mm.ui.tools.ShareImgUI

    QQ:com.tencent.mobileqq  ; 跳转类:com.tencent.mobileqq.activity.JumpActivity

    QQ Zone :com.qzone ; 跳转类: com.qzonex.module.operation.ui.QZonePublishMoodActivity

    相关文章

      网友评论

      • sendy1211:大家知道 weibo 对应的类名是哪个?
        com.sina.weibo.composerinde.ComposerDispatchActivity
        com.sina.weibo.story.publisher.StoryDispatcher
        com.sina.weibo.weiyou.share.WeiyouShareDispatcher
      • igding:我用软件获取微信 QQ分享的界面Activity类名,发现那些界面,并不是你写的那些。
        但是我获取到的类名,并不能用,还是只能用你写的这些
        igding:@dsx 查看了,类名是不一样的
        dsx:@igding 因为这篇文章已经很早了,我现在也不太确信微信、QQ他们的分享类名有没有变,你可以用as查看他们的类名
      • riceeeeeeee:可以直接调起qq里面的空间分享吗
        dsx:@HxH_RORO 应该可以的,不过目前我没这么试过,公司分享的方式不一样
      • _那个人:多图分享现在不行了吗?
        dsx:@_那个人 可以啊,没听说微信对这些有限制。。。。
      • AmatorLee:android 7.0不是不能直接用Uri.fromFile()了么?
        dsx:@AmatorLee 如果怕不兼容的话,可以做个版本兼容的判断
        AmatorLee:@dsx 当然对于N之前的版本是可以的,但是文章中对于N以及O都没有进行适配呢,国内目前大部分厂商的旗舰都跑上N了吧
        dsx:@AmatorLee 没有啊,系统升级肯定是可以向下兼容的,要不然之前的版本怎么办

      本文标题:Android调用系统分享的坑与救赎

      本文链接:https://www.haomeiwen.com/subject/ksuuqxtx.html