2016-06-21 15 views
8

W mojej aplikacji Ionic 2 (TypeScript), gdzie używam wtyczek, na przykład wtyczka Camera z ionic-native, która działa dobrze. Teraz chcę użyć BackgroundMode plugin: https://github.com/katzer/cordova-plugin-background-mode. Czytam README, zrobiłem instalację zgodnie z opisem.Używanie wtyczki cordova innej firmy w Ionic 2 z TypeScript

Pod Wykorzystanie mówi, że wtyczka może być stosowany tak:

cordova.plugins.backgroundMode.enable(); 

W moim IDE (Atom), gdy wpisuję, że ona mówi, że nie może znaleźć Cordova.

google dużo o Cordova wtyczek i jonowe 2, a w niektórych przypadkach używają navigator.somePlugin.someFunction() (obiekt window.navigator jeśli dobrze rozumiem), ale to też nie działa dla mnie. Zrobiłem console.log w mojej aplikacji i urządzeń chrom inspektora pokazuje to:

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": {} 
} 

Moje pytanie brzmi:

Jak mogę skorzystać z wtyczki BackgroundMode w jonowych 2 TS? Ja nawet nie wiem, jak włączenie go do mojego projektu ...

Odpowiedz

12

Podobnie jak AGrandt mówi here, można zainstalować go z:

ionic plugin add cordova-plugin-background-mode 

Następnie włączenie tej linii po imporcie:

declare var cordova:any; 

i używać go, gdy platforma jest gotowe:

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(); 
    } 
); 
+1

można wyjaśnić więcej proszę w tutaj powinno pójść "declare var cordova: any" ??? Nie rozumiem, ani następnego kodu "platform.ready() ....." Z góry dziękuję !! –

Powiązane problemy