Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户运行我们的应用程序时,如何获取设备详细信息?_Javascript_Android_Angularjs_Html_Ionic - Fatal编程技术网

Javascript 当用户运行我们的应用程序时,如何获取设备详细信息?

Javascript 当用户运行我们的应用程序时,如何获取设备详细信息?,javascript,android,angularjs,html,ionic,Javascript,Android,Angularjs,Html,Ionic,我是angular js和ionic移动应用程序的新手,我有一个错误。我的疑问是,如果用户当时打开应用程序,我需要获取设备名称、版本、型号e.t.c.等移动详细信息。为此,我编写了单独的控制器 <!-- Module File --> var moduleName = angular.module('InfoModule', ['ngRoute','ui.bootstrap','ngTouch','ngAside','ngDialog','ionic']) .run(['$root

我是angular js和ionic移动应用程序的新手,我有一个错误。我的疑问是,如果用户当时打开应用程序,我需要获取设备名称、版本、型号e.t.c.等移动详细信息。为此,我编写了单独的控制器

<!-- Module File -->

var moduleName = angular.module('InfoModule', ['ngRoute','ui.bootstrap','ngTouch','ngAside','ngDialog','ionic'])
.run(['$rootScope','$location','StorageService', 
      function ($rootScope,$location,StorageService) {
    $rootScope.appInitDone = false;
    $rootScope.currentPage = "home";
    $rootScope.loginStatus = 0;    
}]);

<!-- Controller -->
moduleName.controller('PlatformController', function ($scope,$filter,$rootScope,$apply,$location,$ionicPlatform, $cordovaDevice) {
    $ionicPlatform.ready(function() {
        $scope.$apply(function() {
            // sometimes binding does not work! :/
            // getting device infor from $cordovaDevice
            var device = $cordovaDevice.getDevice();
            console.log(device);
            $scope.manufacturer = device.manufacturer;
            $scope.model = device.model;
            $scope.platform = device.platform;
            $scope.uuid = device.uuid;
            console.log($scope.uuid);
        });
    });
});

<!--This is Home Html File-->
<div ng-controller="PlatformController"></div>
<div ng-controller="HomeController">
        <input type="textbox" name="searchBox" placeholder="Search Form SomeThing"  class="form-control" data-ng-model="someType" ng-click="Search()" style="height:40px;margin-top:50px;"/>
</div>

<!--Injected Links -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionic/1.1.0/css/ionic.min.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ionic/1.1.0/js/ionic.min.js"></script>


I am getting $cordovaDevice Error and $Injector Mobuler error

       Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.12/$injector/modulerr?p0=InfoMod…p%3A%2F%2F127.0.0.1%3A50666%2Fjs%2FScriptFiles%2Fangular.min.js%3A17%3A381)


And also where we need to call the Plat Form Controller to get device information .......Please help me.......If you have any other ideas or examples please give me the solution..please....


And Also I tried another way...In module i wrote another way...Like bellow

<!-- If tried Like this i am Getting Injector Modular like above error -->

var infomoduler = angular.module('InfoModule', ['ngRoute','ui.bootstrap','ngTouch','ngAside','ngDialog','ng-bootstrap-datepicker','angular-loading-bar','infinite-scroll','ionic'])
.run(['$rootScope','$location', 
      function ($rootScope,$location) {
    $rootScope.appInitDone = false;
    $rootScope.currentPage = "home";
    $rootScope.loginStatus = 0;

   ionic.Platform.ready(function(){
    // will execute when device is ready, or immediately if the device is already ready.
  });

  var deviceInformation = ionic.Platform.device();

  var isWebView = ionic.Platform.isWebView();
  var isIPad = ionic.Platform.isIPad();
  var isIOS = ionic.Platform.isIOS();
  var isAndroid = ionic.Platform.isAndroid();
  var isWindowsPhone = ionic.Platform.isWindowsPhone();

  var currentPlatform = ionic.Platform.platform();
  var currentPlatformVersion = ionic.Platform.version();

  ionic.Platform.exitApp(); // stops the app

}]);

在模块中编写代码是否正确请给我解决方案..请..

为了访问设备的详细信息,您需要安装设备插件(org.apache.cordova.device)

导航到您的ionic/cordova项目(www所在的位置)并键入以下命令

cordova plugin add cordova-plugin-device
要了解更多关于ngCordova的详细信息,请查看

注意,您需要将ngCordova插件添加到您的项目中。您可以从或通过bower下载:

bower install ngCordova
在代码中包括ngCordova脚本,例如

<script src="../js/ng-cordova.js"></script>

请添加插件

在任何控制器文件中添加以下代码行

控制器

$ionicPlatform.ready(function() {
     //find application version
     if (window.cordova) {
         var uuid = $cordovaDevice.getUUID();
         var cordova = $cordovaDevice.getCordova();
         var model = $cordovaDevice.getModel();
         var platform = $cordovaDevice.getPlatform();
         var platformVersion = $cordovaDevice.getVersion();
         var mobileDetails = {
             'uuid': uuid,
             'cordova': cordova,
             'model': model,
             'platform': platform,
             'platformVersion': platformVersion,
         };
         console.log('Mobile Phone details:', mobileDetails)
     }
 });

我看不出这个问题。。。问题出在哪里?当用户运行我为其编写的应用程序时,我需要获取移动设备的详细信息。我在上面给出了详细信息……我明白了,您在上面显示的控制器中成功获取了所有详细信息?您想知道如何获取实际的设备名称吗<代码>iPhone 6例如?不,我没有在控制器中获取详细信息,是的,我想获取移动设备(三星galaxy或任何android移动设备或Ipone系列)的全部详细信息…如果我先编写上面的代码,我们会收到模块错误…感谢您的回复,u提供了cordova插件add org.apache.cordova.device,我需要在其中添加此项,我的意思是我们需要在脚本标签或其他一些…$cordovaDevice“中添加index.html,我想为这个添加注入器。。。如果我将此添加到模块文件中,我会遇到错误…你能来skype吗?是的,我会。。你能把你的skype id发给我吗?否则(chaitanya.divi)就是我的skype id。你能给我发送请求吗?“$cordovaDevice”,我想要这个。。。如果我将此添加到模块文件中,我将收到错误…@chai,请根据您的操作系统打开命令提示符(cmd)或终端。然后将cd放入爱奥尼亚项目(cd放入包含WWW文件夹的文件夹)。然后输入“cordova插件添加cordova插件设备”。安装设备插件后,Cordova设备应可用。顺便说一句,我想你已经安装了ngCordova。如果没有,您需要下载它(bower安装ngCordova或)并将其加载到您的项目中(例如,谢谢,我添加了它并在生成apk文件之前运行了该命令,然后在emulator中安装了它。在那里我没有得到信息,也没有收到任何错误。
cordova plugin add org.apache.cordova.device
$ionicPlatform.ready(function() {
     //find application version
     if (window.cordova) {
         var uuid = $cordovaDevice.getUUID();
         var cordova = $cordovaDevice.getCordova();
         var model = $cordovaDevice.getModel();
         var platform = $cordovaDevice.getPlatform();
         var platformVersion = $cordovaDevice.getVersion();
         var mobileDetails = {
             'uuid': uuid,
             'cordova': cordova,
             'model': model,
             'platform': platform,
             'platformVersion': platformVersion,
         };
         console.log('Mobile Phone details:', mobileDetails)
     }
 });