我有一个Ionic应用程序,我正在尝试在我的视图中显示设备信息。
代码(coffeeScript):
angular.module('hgApp', ['ionic'])
.run(($ionicPlatform, $rootScope) ->
aboutPageFunction($rootScope)
$ionicPlatform.ready ->
deviceInformation = ionic.Platform.device()
console.log(deviceInformation)
if window.cordova and window.cordova.plugins.Keyboard
cordova.plugins.Keyboard.hideKeyboardAccessoryBar true
cordova.plugins.Keyboard.disableScroll true
if window.StatusBar
StatusBar.styleDefault()
return
return
).config [
'$stateProvider'
'$urlRouterProvider'
($stateProvider, $urlRouterProvider) ->
$stateProvider.state('app',
url: '/app'
abstract: true
templateUrl: './sections/menu/menu.tpl.html'
controller: 'roomList'
).state('app.myHouse',
url: '/myHouse'
views:
'menuContent':
templateUrl: './sections/myHouse/myHouse.tpl.html'
)
# if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise 'app/myHouse'
return
]
aboutPageFunction = ($rootScope) ->
device = ionic.Platform.device()
$rootScope.currentPlatform = ionic.Platform.platform()
$rootScope.currentPlatformVersion = ionic.Platform.version()
$rootScope.manufacturer = device.manufacturer
return
模板视图
<ion-view view-title="About">
<ion-content>
<span>Manufacturer:>{{manufacturer}}</p></span>
<span>Current platform:>{{currentPlatform}}</p></span>
<span>Current platform version:>{{currentPlatformVersion}}</p></span>
</ion-content>
</ion-view view-title="About">
我正在使用Chrome来设置Google Nexus 5&#39;设备使用浏览器中的工具。
当我刷新页面时,它不显示制造商,但它显示后两个变量,如下所示:
Manufacturer:
Current platform: android
Current platform version: 6
为什么设备对象没有显示制造商信息?
- 注意 - 当我在ready()中的console.log($ ionicPlatform)时,我得到一个有效的对象,但没有看到任何设备。
答案 0 :(得分:1)
您可以使用cordova-plugin-device获取设备的硬件和软件详细信息。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(device);
}
属性设备对象:
device.cordova
device.model
device.platform
device.uuid
device.version
device.manufacturer
device.isVirtual
device.serial
更新
$ionicPlatform.ready
在设备准备就绪时执行回调,因此您实际上不需要添加deviceready
事件侦听器:
angular.module('hgApp', ['ionic'])
.run(($ionicPlatform, $rootScope) ->
aboutPageFunction($rootScope)
$ionicPlatform.ready ->
if window.device
console.log(device)
if window.cordova and window.cordova.plugins.Keyboard
cordova.plugins.Keyboard.hideKeyboardAccessoryBar true
cordova.plugins.Keyboard.disableScroll true
if window.StatusBar
StatusBar.styleDefault()
return
return
)
答案 1 :(得分:1)
只是为那些寻找这个答案的人写得更简洁:
1。)确保已安装cordova-plugin-device
,您可以在配置文件中查看此内容,也可以运行cordova plugin ls
2。)用户(和我)试图将设备对象引用为ionic.Platform.device()
,这就是它在此链接中的显示方式:http://ionicframework.com/docs/v1/api/utility/ionic.Platform/。
但是,如果您安装了上述插件,那么您正在寻找的设备信息实际上位于window.device
,如果没有本地device
变量,则只是device
。
希望这有帮助。