【发布时间】:2021-01-12 11:51:21
【问题描述】:
我对 Capacitor 的设备插件有疑问。使用 Device.getLanguageCode() 时,当我使用 ionic serve 在浏览器中测试应用程序时,我得到了正确的语言代码。但是,当我在自己的手机上使用 android studio 测试应用程序时,不会检索到语言代码。我试图将语言代码打印到屏幕上,但什么也没有出现。
我怀疑这可能是因为该应用程序只是处于测试模式,但它仍然安装在手机上,所以它应该能够获取设备信息吗?非常感谢您的帮助!
我正在使用带有反应的离子。
代码:
/* --------------------- Setting Language --------------------- */
const { Device } = Plugins;
const languageCtx = useContext(LanguageContext);
let fixedLangCode = 0; // 0 is default language code (English).
Device.getLanguageCode().then((langCode) => {
if (langCode.value.includes("NO")) {
fixedLangCode = 1; //1 is Norwegian language code.
}
languageCtx.updateLanguageCode(fixedLangCode);
});
/* ---------------------------------------------------------- */
错误信息: 似乎没有任何错误信息。启动应用程序时唯一提到的有关 getLanguageCode 的内容是:
V/Capacitor/Plugin: To native (Capacitor plugin): callbackId: 27212778, pluginId: Device, methodName: getLanguageCode
V/Capacitor: callback: 27212778, pluginId: Device, methodName: getLanguageCode, methodData: {}
在所有其他插件中都提到了设备插件,如下所示:
D/Capacitor: Registering plugin: Device
【问题讨论】:
-
您能发布一些代码示例和您收到的错误消息吗?
-
@johnborges 我找到了解决问题的方法,但谢谢!
标签: android reactjs ionic-framework capacitor capacitor-plugin