![]() The Cordova plugin Ionic Natives uses allows specifying the background color of the smallIcon. By not including it in your interface you force users to use the default color for their version of Android. While the LocalNotification plugin is not well documented, it does include this feature, see Options.java line 253: ``` /** * @return * The notification background color for the small icon * Returns null, if no color is given. */ public int getColor() { String hex = options.optString("color", null); if (hex == null) { return NotificationCompat.COLOR_DEFAULT; } int aRGB = Integer.parseInt(hex, 16); return aRGB + 0xFF000000; } ``` I've simply added the option to the interface as well as a short description. This lets you go from the default color (varies by Android version): https://goo.gl/photos/nERcj4GZgapy8aee9 To any color you'd like: https://goo.gl/photos/t8V9WVba8jDU49aHA And also works if you also specify a large icon: https://goo.gl/photos/gWQYwa12djmdXfYcA |
||
---|---|---|
.github | ||
scripts | ||
src | ||
test | ||
typings | ||
.editorconfig | ||
.gitignore | ||
CHANGELOG.md | ||
circle.yml | ||
DEVELOPER.md | ||
gulpfile.js | ||
karma.conf.ts | ||
LICENSE | ||
package.json | ||
README.md | ||
tsconfig-es5.json | ||
tsconfig-esm.json | ||
tsconfig.json | ||
tslint.json | ||
typings.json |
Ionic Native
Ionic Native is a curated set of wrappers for Cordova plugins that make adding any native functionality you need to your Ionic, Cordova, or Web View mobile app easy.
Documentation
For the full Ionic Native documentation, please visit http://ionicframework.com/docs/v2/native/.
Promises and Observables
Ionic Native wraps plugin callbacks in a Promise or Observable, providing a common interface for all plugins and ensuring that native events trigger change detection in Angular 2.
import { Geolocation } from 'ionic-native';
Geolocation.getCurrentPosition().then(pos => {
console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
});
let watch = Geolocation.watchPosition().subscribe(pos => {
console.log('lat: ' + pos.coords.latitude + ', lon: ' + pos.coords.longitude);
});
// to stop watching
watch.unsubscribe();
Angular 1
Ionic Native works as a stand-in for ngCordova. In many cases, the usage is identical, but we import ionic.native
instead of ngCordova
as our module.
As a rule of thumb: take the ES6 class name of the plugin and add $cordova
to get the service name. For example, Geolocation
would be $cordovaGeolocation
, and Camera
will be $cordovaCamera
:
angular.module('myApp', ['ionic', 'ionic.native'])
.controller('MyCtrl', function($scope, $cordovaCamera) {
$scope.takePicture = function() {
$cordovaCamera.getPicture(opts).then(function(p) {
}, function(err) {
});
};
});
For services that return observables, the Angular 1 digest cycle must be done manually (currently):
angular.module('myApp', ['ionic', 'ionic.native'])
.controller('MyCtrl', function($scope, $cordovaGeolocation) {
$scope.takePicture = function() {
$cordovaGeolocation.watchPosition(opts).subscribe(function(p) {
$scope.$apply(function() {
$scope.position = p.coords;
});
}, function(err) {
});
};
});
Runtime Diagnostics
Spent way too long diagnosing an issue only to realize a plugin wasn't firing or installed? Ionic Native lets you know what the issue is and how you can resolve it.
Installation
Run following commmand to install ionic-native in your project.
npm install ionic-native --save
Plugin Missing?
Let us know or submit a PR! Take a look at the Developer Guide for more on how to contribute. ❤️
Credits
Ibby Hadeed - @ihadeed
Tim Lancina - @timlancina
Max Lynch - @maxlynch
Rob Wormald - @robwormald