在 Ionic 2 中使用第三方 cordova 插件和 TypeScript
Posted
技术标签:
【中文标题】在 Ionic 2 中使用第三方 cordova 插件和 TypeScript【英文标题】:Using a third-party cordova plugin in Ionic 2 with TypeScript 【发布时间】:2016-10-22 20:53:58 【问题描述】:在我的 Ionic 2 应用程序 (TypeScript) 中,我使用插件,例如来自 ionic-native
的相机插件,它工作正常。现在我想使用BackgroundMode plugin
:
https://github.com/katzer/cordova-plugin-background-mode
。
我阅读了 README,按照说明进行了安装。
在用法下它说插件可以这样使用:
cordova.plugins.backgroundMode.enable();
在我的 IDE (Atom) 中,当我输入它时,它说找不到cordova。
我在 Google 上搜索了很多关于 cordova 插件和 Ionic 2 的信息,在某些情况下他们使用
navigator.somePlugin.someFunction()
(如果我理解正确,则为 window.navigator
对象)但这对我也不起作用。我在我的应用程序中做了一个console.log
,chrome 设备检查器显示了这个:
JSON.stringify(window.navigator, null, 2)
"app": ,
"camera":
"DestinationType":
"DATA_URL": 0,
"FILE_URI": 1,
"NATIVE_URI": 2
,
"EncodingType":
"JPEG": 0,
"PNG": 1
,
"MediaType":
"PICTURE": 0,
"VIDEO": 1,
"ALLMEDIA": 2
,
"PictureSourceType":
"PHOTOLIBRARY": 0,
"CAMERA": 1,
"SAVEDPHOTOALBUM": 2
,
"PopoverArrowDirection":
"ARROW_UP": 1,
"ARROW_DOWN": 2,
"ARROW_LEFT": 4,
"ARROW_RIGHT": 8,
"ARROW_ANY": 15
,
"Direction":
"BACK": 0,
"FRONT": 1
,
"splashscreen":
我的问题是:
如何在 ionic 2 TS 中使用 BackgroundMode 插件?我什至不知道如何将它包含到我的项目中......
【问题讨论】:
【参考方案1】:就像AGrandt 说here,你可以安装它:
ionic plugin add cordova-plugin-background-mode
然后在导入之后包含这一行:
declare var cordova:any;
并在平台准备好时使用它:
platform.ready().then(
() =>
console.log("MyApp::constructor platform.ready");
cordova.plugins.backgroundMode.setDefaults(
title: 'My App Name',
text: 'Active in background...');
cordova.plugins.backgroundMode.enable();
);
【讨论】:
你能解释更多吗?应该去哪里“declare var cordova:any”???我不明白,下一个代码“platform.ready().....”也没有提前谢谢!以上是关于在 Ionic 2 中使用第三方 cordova 插件和 TypeScript的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Cordova/Ionic 将图像裁剪为特定纵横比?
Ionic 2:Cordova 不可用。确保包含 cordova.js 或在设备/模拟器中运行(在模拟器中运行)
在cordova/ionic 2应用程序中使用哪个数据库才能完全多平台?