如何编辑shareSDK分享功能九宫格

  在做分享功能时想删除一些九宫格上的图标,条件反射的去翻源码,结果好了,一顿操作找到PlatformPage下:

protected ArrayList<Object> collectCells() {
		ArrayList<Object> cells = new ArrayList<Object>();

		Platform[] platforms = ShareSDK.getPlatformList();
		if (platforms == null) {
			platforms = new Platform[0];
		}
		HashMap<String, String> hides = getHiddenPlatforms();
		if (hides == null) {
			hides = new HashMap<String, String>();
		}
		for (Platform p : platforms) {
			if (!hides.containsKey(p.getName())) {
				cells.add(p);
			}
		}

		ArrayList<CustomerLogo> customers = getCustomerLogos();
		if (customers != null && customers.size() > 0) {
			cells.addAll(customers);
		}

		return cells;
	}
Platform[] platforms = ShareSDK.getPlatformList();看起来不错,点进去一看<pre name="code" class="java">public static synchronized Platform[] getPlatformList() {
        b();
        return a.a();
    }

 恩,没错,这就是一个class文件里面的方法,无法去修改,这显然让人很沮丧,回头过来一看, 
HashMap<String, String> hides = getHiddenPlatforms();
hides映入眼帘,一顿操作之后终于:
<pre name="code" class="java"> ShareSDK.initSDK(this);
        OnekeyShare oks = new OnekeyShare();
//关闭sso授权
        oks.disableSSOWhenAuthorize();
        oks.addHiddenPlatform(TencentWeibo.NAME);
        oks.addHiddenPlatform(WechatFavorite.NAME);
        oks.addHiddenPlatform(Facebook.NAME);
        oks.addHiddenPlatform(Twitter.NAME);
        oks.addHiddenPlatform(Renren.NAME);
        oks.addHiddenPlatform(AlipayMoments.NAME);
        oks.addHiddenPlatform(Alipay.NAME);
当然,这只是隐藏掉,说到这不得不说下排序的问题了,进入res文件夹下,shareSDK.xml文件,每个第三方的列表都有一个sortId,改变sortId即可。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值