android微信分享,android微信分享图片大小
Android集成微信分享功能采坑:分享不成功,一闪而过,无反应等情况
Android 微信分享遇到的问题:
通州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
1.APP_ID是否输入正确
2.官网申请时输入的签名和打包的签名是否一致(请用微信推荐的签名工具对比)
注:微信平台填写的签名是ce187ed67e05c2d8879bf66bbfdfc8b9
是apk的keystore的md5去掉冒号,大写换位小写字母形式
3.分享一闪而过
有可能的bug:签名错误,appid正确,但是申请的时候吧包名和签名写反了
微信缓存问题,重新安装微信多试几次
4.请用微信官方提供的签名获取工具
5.自己直接run到手机运行的apk包注意签名应该和申请时用的签名一致(即把debug的签名改为release的)
6.分享图片的缩略图太大,超过32k
7.换设备,重新尝试
8.保证所有配置没有问题的情况下,尝试重启手机即可……(我没有开玩笑)
android app怎样实现微信分享
使用微信SDK分享WXAppExtendObject数据给好友,好友点击跳转MyApp的某个页面(需要在分享时传递构造跳转Intent的参数)。
1.该类型的分享(具体请参考微信分享SDK)可以带几个参数,参数中必须附带一些构造跳转Intent的数据。
2.好友点击分享的内容,回调IWXAPIEventHandler接口的类的onReq方法,具体为
ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:这种情况才会调用,此时可以取出分享时附带在参数中的一些数据,构造一个跳转Intent,调用startActivity(intent) 来打开MyApp。
由于是项目实测,这种实现方式的截图也就不传了。
问题1:该分享方式只能分享给好友,不能分享到朋友圈。
问题2:如果好友没安装MyApp,点击微信中好友分享过来的消息后无反应,无法提醒“未安装MyApp,请下载”,因为这些逻辑要实现的话本身就是在MyApp里面写的,原本没装的话根本无法检测。
问题3:WXAppExtendObject类型的分享,数据有大小限制,
extInfo(String)限制2KB;
fileData(byte[])供第三方使用的文件二进制数据,最大10M;
filePath:(String)Local directory of the file provided for applications,本身长度最大10KB,文件大小同上,不超过10M。
解决Android11上分享图片失败,微信提示需要使用FileProvider
先看下微信分享错误的提示:
看到这个错误大家第一个可能会想到FileProvider我在AndroidManifest早已配置过了,但是配置了是你可以使用FileProvider存储了应用间共享文件,但是在并不代表你使用了FileProvider,然后了解问题我们就要先了解一个概念 分区存储
Android 10之前,外部存储区的内容主要以两种形式:
在Android 10 中,Google首次引入了 分区存储 ,将公共区域划分成了不同的集合,并且在媒体文件和其他文档之间建立了清楚的分割。经过划分之后应用不可以随意访问外部存储区中的文件,而只能访问媒体文件。
Android 11 (API 级别 30) 进一步增强了平台功能,为外部存储中的应用和用户数据提供了更好的保护。
从 Android 11 开始,使用 分区存储模式 的应用即使拥有 READ_EXTERNAL_STORAGE 权限,也无法再访问外部存储中的任何其他应用的 专属目录 中的文件
受到这一限制的影响,如果你的应用通过第三方 SDK 分享文件 ( 例如分享照片给另一应用上的好友 ) 到其他应用,而这只是将自己专属目录中的文件路径传递给目标应用,目标应用将无法读取该文件。部分分享 SDK 可能没有正确处理这种情形,没有显式报错而只是静默失败 (对方用户都没有意识到这次分享),影响开发者和用户的体验。
FileProvider是Android7就提出的应用间共享文件适配方式,而目前大多数应用和SDK都具备这中方式
如果您的应用需要在 Android 11 上向其他应用分享文件,请检查您使用的第三方分享 SDK 是否支持通过 FileProvider 进行分享 (现在大部分常用的第三方分享 SDK 均已支持)。通过 FileProvider,您的应用能够允许第三方应用读取所分享的文件,而不会受到分区存储的限制
这里微信已经支持通过了FileProvider形式进行分享了,我们可以直接调用
在项目的AndroidManifest.xml添加相关配置,示例如下:
在res/xml目录(如果没有xml目录,则新建一个)下,添加文件file_provider_paths.xml,内容如下:
external-files-path表示通过 Context.getExternalFilesDir(null) 接口获取到的目录下的文件才可被共享,其他未配置的路径均不可被分享。 同样的节点可以配置多个,以支持多个不同的子目录 ,如下所示:
将路径通过FileProvider的接口转换成 content://URI 形式,示例如下:
参考文档 OpenSDK支持FileProvider方式分享文件到微信
名称栏目:android微信分享,android微信分享图片大小
文章URL:http://scyanting.com/article/dscdcdh.html