Cómo obtener el dispositivo UUID en marco iónico
Instalado cordova dispositivo plugin por:
sudo cordova plugin add org.apache.cordova.device
Luego descargó ngCordova e incluyó ng-cordova.min.js en la carpeta js y también se incluyó en index.html
- La creación de la aplicación de Ionic para Android en Linux falla con el código de salida 2: Error al encontrar 'ANDROID_HOME'
- Mi aplicación cordova webview es realmente más lento que en el navegador android en el mismo teléfono
- Ionic construir android error cuando descarga gradle
- Iónico: la cámara pide confirmación después de cada foto / toma varias tomas
- Error 'Android iónico ejecutar' en el dispositivo
A continuación lo que hice se inyecta ngCordova de la siguiente manera
angular.module('starter', ['ionic', 'starter.controllers','ngCordova'])
Luego se incluye en el controlador como sigue
angular.module('starter.controllers', []) .controller('AppCtrl', function($scope, $ionicModal, $timeout, $ionicPlatform,$cordovaDevice) but still getting the following errors ReferenceError: device is not defined at Object.getUUID (http://localhost:8100/js/ng-cordova.min.js:1:14929) at new <anonymous> (http://localhost:8100/js/controllers.js:27:26) at invoke (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11591:17) at Object.instantiate (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11602:23) at http://localhost:8100/lib/ionic/js/ionic.bundle.js:14906:28 at updateView (http://localhost:8100/lib/ionic/js/ionic.bundle.js:42986:30) at eventHook (http://localhost:8100/lib/ionic/js/ionic.bundle.js:42933:17) at Scope.$broadcast (http://localhost:8100/lib/ionic/js/ionic.bundle.js:20605:28) at $state.transition.resolved.then.$state.transition (http://localhost:8100/lib/ionic/js/ionic.bundle.js:34122:22) at wrappedCallback (http://localhost:8100/lib/ionic/js/ionic.bundle.js:19197:81)
¿Puedes ahora decirme qué salió mal?
Si hay otra manera de leer el UUID del dispositivo, muéstreme la dirección.
- ¿Cómo Deviceready de manera correcta en la aplicación iónica?
- Construir variantes de aplicaciones iónicas
- Llamada de teléfono móvil o mailto no funciona en absoluto
- Enviar url a la aplicación androide iónica a través de webintents desde otra aplicación
- Ionic Android No se encontró ningún recurso que coincida con el nombre dado .. cardBackgroundColor
- No puede cargar recursos al crear para Android Emulator utilizando Visual Studio Tools para Apache Cordova en Visual Studio 2013
- Cordova / error de compilación jónico (a veces): no tienen el entorno requerido
- ¿El comando Android para Ionic Framework no funciona en Windows 8 CLI?
Sí, hay otra manera. Simplemente no necesitas el ngCordova para esto.
Cuando agregas el plugin cordova plugin add org.apache.cordova.device
que se carga en tu aplicación y por lo tanto la información que quieres está en window.device
.
Si desea obtener el dispositivo uuid en cualquier lugar del código sólo tiene que llamar a window.device.uuid
.
Si lo desea tan pronto como se inicie la aplicación, utilice:
ionic.Platform.ready(function(){ console.log( window.device.uuid ); });
Si está utilizando '> servicio iónico', el dispositivo no se "definirá". Pruebe con un emulador o dispositivo físico.
Utilizar ngCordova y cordova Plugin de dispositivo :
Cordova plugin add org.apache.cordova.device
module.controller('MyCtrl', function($scope, $cordovaDevice) { var uuid = $cordovaDevice.getUUID(); });
Dentro de v2 funciona así:
import { Device } from 'ionic-native'; console.log('Device UUID is: ' + Device.uuid);
Referencia: http://ionicframework.com/docs/v2/native/device/
Podrías usar ionic.Platform.device()
en tu función platform.ready
.
$ionicPlatform.ready(function { console.log(ionic.Platform.device());// returns an object containing device uuid,version, platform, manufacturer ... });
Espero que esto ayude a alguien :).
Saludos.
http://forum.ionicframework.com/t/ionic-cordova-device-uuid/13652
Sólo puede acceder a complementos cordova dentro de la función de devolución de llamadas ionic.Platform.ready ():
angular.module('starter.controllers', []) .controller('DashCtrl', function ($scope, $state, $cordovaDevice) { var init = function () { console.log("initializing device"); try { $scope.uuid = $cordovaDevice.getUUID(); } catch (err) { console.log("Error " + err.message); alert("error " + err.$$failure.message); } }; ionic.Platform.ready(function(){ init(); }); })
Esto se debe a que los complementos de Cordova tardan más tiempo en cargar la aplicación web. La devolución de llamada ionic.Platform.ready () se activa tan pronto Cordova se haya cargado completamente o inmediatamente si ya está cargada.
Han estado luchando con esto durante horas hoy, instalan el plugin del dispositivo de Córdova con:
cordova plugin add cordova-plugin-device
Asegúrate de hacer referencia al complemento en tu config.xml:
<plugin name="cordova-plugin-device" source="npm" spec="~1.1.1" />
Wow se enteró de lo mal que estaba haciendo … a través de esta pregunta. http://forum.ionicframework.com/t/problem-to-use-ngcordova-device-is-not-defined/11979
Cuando probamos en otro dispositivo que tiene otra plataforma que cordova apoya esto sucede. Este fue un descubrimiento útil para mí.
- Android: No se puede invocar toString () en el tipo primitivo int
- Cómo comprobar si existe o no el archivo SharedPreferences