我正在使用以下链接中的说明将 Freshdesk 集成到 React Native 中:
完成这些步骤后,我收到错误消息:
Missing/Bad FileProvider for Freshchat. Camera capture will fail in devices running Nougat or later versions of OS (error code 354)
有任何想法吗?谢谢。
我正在使用反应原生 0.61.4
我正在使用以下链接中的说明将 Freshdesk 集成到 React Native 中:
完成这些步骤后,我收到错误消息:
Missing/Bad FileProvider for Freshchat. Camera capture will fail in devices running Nougat or later versions of OS (error code 354)
有任何想法吗?谢谢。
我正在使用反应原生 0.61.4
AndroidManifest.xml
尝试更改android:name="android.support.v4.content.FileProvider"
为android:name="androidx.core.content.FileProvider"
<application>
<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>
</application>
值/字符串.xml
<string name="freshchat_file_provider_authority">com.mypackage.provider</string>
请参考此解决方案,它将帮助您解决此问题。
var freshchatConfig = new FreshchatConfig(APP_ID, APP_KEY);
freshchatConfig.cameraCaptureEnabled = false;
使用false
而不是true
.
我遇到了同样的问题,我发现另一个应用程序正在使用我为freshchat提供者使用的相同“android:authorities”。
要解决这个问题,只需给“android:authorities”一个唯一的名称,并确保它没有被其他应用程序使用。
例如:您的应用名称称为:APPX ... 将您的 android:authorities 更改为 com.mypackage.provider.APPX
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.mypackage.provider.APPX"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/freshchat_file_provider_paths" /> </provider>
您可以像这样简单地将 cameraCaptureEnabled 属性设置为 false:
const freshchatConfig = new FreshchatConfig(
YOUR_CHAT_APP_ID,
YOUR_APP_KEY,
);
freshchatConfig.domain = YOUR_DOMAIN;
freshchatConfig.cameraCaptureEnabled = false;
这为我解决了这个问题。