美文网首页
android view保存为本地图片,微信看不到(部分适配,不

android view保存为本地图片,微信看不到(部分适配,不

作者: hao_developer | 来源:发表于2020-11-07 09:42 被阅读0次

    效果:红色框框

    微信开放平台适配:https://developers.weixin.qq.com/community/develop/doc/0004886026c1a8402d2a040ee5b401

    image.png

    各位开发者:

    最新版本(7.0.13)的微信 SDK 已经适配使用FileProvider的方式来进行消息分享。

    如果分享的消息中涉及文件路径(如图片类型消息),建议开发者针对Android 7.0版本及以上设备,判断微信版本支持(判断方法见后文【微信版本支持】一节)的情况下,更新为FileProvider的方式进行分享。
    以下是具体的适配说明。

    使用FileProvider

    1. 配置
      在项目的AndroidManifest.xml添加相关配置,示例如下:
    <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="${applicationId}.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_provider_paths" />
    </provider>
    ​
    // ${applicationId}为你的应用包名
    

    res/xml目录(如果没有xml目录,则新建一个)下,添加文件file_provider_paths.xml,内容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <paths xmlns:android="http://schemas.android.com/apk/res/android">
        <external-files-path name="sharedata" path="shareData/"/>
    </paths>
    

    external-files-path表示通过 Context.getExternalFilesDir(null) 接口获取到的目录下的文件才可被共享,其他未配置的路径均不可被分享。同样的节点可以配置多个,以支持多个不同的子目录,如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <paths xmlns:android="http://schemas.android.com/apk/res/android">
        <external-files-path name="sharedata" path="shareData/"/>
        <external-files-path name="sharedata2" path="shareData2/"/>
    </paths>
    

    paths内部还支持节点配置其他的路径,比如:

    • files-path,对应于 Context.getFilesDir() 获取到的目录
    • cache-path,对应于 Context.getCacheDir() 获取到的目录
      ...
      还有一些其他可配置的路径,开发者可自行了解使用。

    相关文章

      网友评论

          本文标题:android view保存为本地图片,微信看不到(部分适配,不

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