【发布时间】:2018-08-08 13:40:51
【问题描述】:
我需要在我的 Ionic 项目中进行设备检测,所以我已经按照此处的说明安装了 @ionic-native/device 插件:https://ionicframework.com/docs/native/device/
但是,当我将它连接到组件内部,然后运行 ionic serve 以预览更改时,console.log 返回 Device 对象,所有值都设置为 null,当我尝试使用单个属性时也会发生同样的情况,例如this.device.model:
这是我在组件中使用它的方式:
import {Device} from "@ionic-native/device";
// ...
@Component({
// ...
})
export class MyComponent {
constructor(private device: Device) {
}
ngOnInit() {
console.log(this.device);
}
}
我也将它添加到AppModule:
import {Device} from "@ionic-native/device";
// ...
@NgModule({
// ...
providers: [
Device
]
})
export class AppModule() {
}
Cordova 设备插件被自动注入config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget <!-- ... --> >
<!-- ... -->
<plugin name="cordova-plugin-device" spec="2.0.0" />
</widget>
这是我的 Ionic 堆栈(至少应该与问题相关的包):
"@angular/*": "^5.2.4", // all packages
"@ionic-native/*": "4.5.2", // all packages
"@ionic-native/device": "4.5.2"
"ionic-angular": "3.9.2",
"cordova-plugin-device": "2.0.0",
"typescript": "2.6.2"
谢谢!
更新:
我可以通过运行在浏览器中获取设备详细信息:
cordova run browser
这假设您已将浏览器添加为平台,如果未运行:
ionic cordova platform add browser
(来自@AndrewLively 发布的答案中的链接:https://stackoverflow.com/a/49034015/448816)
【问题讨论】:
-
您针对什么平台进行测试/开发?
-
@AndrewLively 我正在针对 iOS 和 Android 进行构建,但我正在尝试在浏览器 (Chrome) 中查看设备信息
标签: ionic-framework ionic3 cordova-plugins ionic-plugins