最近有个需求是获取设备UUID做匹配,直接在npm上查,然后发现用不了,直到看了ionic文档才发现用错了。
cordova-plugin-device for Underlying Platform Information
安装依赖
npm install cordova-plugin-device
npm install @awesome-cordova-plugins/device
ionic cap sync
然后就可以在代码里获取了
import { Component, OnInit } from '@angular/core';
import { Device } from '@awesome-cordova-plugins/device/ngx';
@Component({
selector: 'app-sign-in',
templateUrl: './sign-in.page.html',
styleUrls: ['./sign-in.page.scss'],
providers: [Device]
})
export class SignInPage implements OnInit {
deviceId: any;
constructor(private device: Device) {
}
ngOnInit() {
this.deviceId = this.device?.platform + ' **** ' + this.device?.uuid;
}
}
总共可以获取这些属性
GitHub - apache/cordova-plugin-device: Apache Cordova Plugin device
https://developer.android.com/about/versions/10/privacy/changes#non-resettable-device-ids
https://developer.android.com/reference/android/Manifest.permission#READ_PHONE_STATE
但是在cordova-plugin-device 的git里面最下面有句话
获取UUID在android 9被废弃了,android10之后获取的话,需要加权限申请,否则获取的是unkonw