2016-06-21 33 views
8

Trong ứng dụng Ionic 2 (TypeScript) của tôi, nơi tôi sử dụng plugin, ví dụ như plugin Camera từ ionic-native hoạt động tốt. Bây giờ tôi muốn sử dụng BackgroundMode plugin: https://github.com/katzer/cordova-plugin-background-mode. Tôi đọc README, tôi đã cài đặt như được mô tả.Sử dụng plugin cordova của bên thứ ba trong Ionic 2 với TypeScript

Theo Cách sử dụng nó nói rằng các plugin có thể được sử dụng như thế này:

cordova.plugins.backgroundMode.enable(); 

Trong IDE của tôi (Atom), khi tôi gõ đó, nó nói nó không thể tìm thấy cordova.

Tôi googled rất nhiều về cắm cordova và Ionic 2 và trong một số trường hợp, chúng sử dụng navigator.somePlugin.someFunction() (đối tượng window.navigator nếu tôi hiểu chính xác) nhưng điều đó cũng không hiệu quả đối với tôi. Tôi đã làm một console.log trong ứng dụng và thiết bị chrome của tôi thanh tra cho thấy điều này:

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

Câu hỏi của tôi là:

Làm thế nào tôi có thể sử dụng các plugin BackgroundMode trong ion 2 TS? Tôi thậm chí không biết làm thế nào để đưa nó vào dự án của tôi ...

Trả lời

12

Giống như AGrandt nói here, bạn có thể cài đặt nó với:

ionic plugin add cordova-plugin-background-mode 

Sau đó bao gồm dòng này sau khi nhập khẩu:

declare var cordova:any; 

Và sử dụng nó khi nền tảng này đã sẵn sàng:

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

bạn có thể giải thích xin vui lòng hơn w ở đây nên đi "tuyên bố var cordova: bất kỳ" ??? Tôi không hiểu, không phải mã tiếp theo "platform.ready() ....." Cảm ơn trước !! –

Các vấn đề liên quan