5

我按照以下链接中提到的步骤将 Freshdesk 集成到 android(Nougat) 中:

https://support.freshchat.com/support/solutions/articles/229319-freshchat-android-sdk-integration-steps

我在最新版本的 Freshdesk 的 gradle 文件中添加了依赖项。在上面链接中提到的集成的第一步中,它说我们可能会收到以下错误作为 Toast 消息

“Freshchat 缺少/错误的 FileProvider。在运行 Nougat 或更高版本操作系统的设备中,相机捕获将失败(错误代码 354)”

为避免该错误,我在我的 AndroidManifest.xml 文件和“freshchat_file_provider_authority”的字符串资源中添加了以下代码。AndroidManifest.xml 文件中的字符串资源“freshchat_file_provider_authority”和权限具有相同的包名称。

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="com.mypackage.provider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/freshchat_file_provider_paths" />
</provider>

<string name="freshchat_file_provider_authority">com.mypackage.provider</string>

但我仍然收到相同的错误:“Freshchat 缺少/错误的 FileProvider。在运行 Nougat 或更高版本的操作系统的设备中,摄像头捕获将失败(错误代码 354)”

请帮忙。谢谢。

4

3 回答 3

2

您只需要在 values/strings.xml 文件中添加以下行:

<string name="freshchat_file_provider_authority">com.mypackage.provider</string>

就是这样。

于 2020-03-02T11:57:19.933 回答
1

AndroidManifest.xml

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="com.mypackage.provider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/freshchat_file_provider_paths" />
</provider>

值/字符串.xml

<string name="freshchat_file_provider_authority">com.mypackage.provider</string>
于 2020-03-04T05:38:43.537 回答
0

尝试将 android:name="android.support.v4.content.FileProvider" 更改为 android:name="androidx.core.content.FileProvider"

于 2019-07-21T22:48:30.390 回答