不使用官方SDK,实现微信分享(发送到朋友,发送到朋友圈)

本文介绍了一种不依赖官方SDK的微信分享实现方法,并通过Intent在应用程序间通信来完成分享功能。此外,文章还分析了使用官方SDK时遇到的问题及其解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记得当项目里需要些微信分享,所以我也去下载了微信的sdk,测试以后,失败了。一直跳转不到绑定微信的页面   找了很久没发现问题到底出在哪。  在网上查资料的时候发现有很多人遇到了同样的问题但都没解决,  找了很久 最后找到一个帖子里 有高手直接用intent在应用程序间的通信来实现了微信分享,前提是该用户手机里要有安装微信  。代码就是下面这段

private void shareToFriend(File file) {
                Intent intent = new Intent();
                ComponentName comp = new ComponentName("com.tencent.mm",
                                "com.tencent.mm.ui.tools.ShareImgUI");
                intent.setComponent(comp);
                intent.setAction("android.intent.action.SEND");
                intent.setType("image/*");
                //intent.setFlags(0x3000001);
                intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
                startActivity(intent);
        }
        private void shareToTimeLine(File file) {
                Intent intent = new Intent();
                ComponentName comp = new ComponentName("com.tencent.mm",
                                "com.tencent.mm.ui.tools.ShareToTimeLineUI");
                intent.setComponent(comp);
                intent.setAction("android.intent.action.SEND");
                intent.setType("image/*");
                //intent.setFlags(0x3000001);
                intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
                startActivity(intent);
        }


 

当时觉得这段代码很神奇,短短几句就搞定了。但还是一直没把他这段代码放进项目里,毕竟不是官方的方法,难免存在许多纰漏,但这种思路确实值得学习。
后来我终于发现为什么我用官方的方法会一直不能成功了。
问题出在keystore上 在注册微信开放平台账号的时候 填写了我们项目打包的keystore, 但是我测试的时候跑程序用的是eclipse默认的keystore。这两者显然是不一样的,微信就是检测出这两者不一样所以一直没让我开发成功。呼 当时写的时候微博和微信分享都要写, 还直呼微博的SDK好用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值