mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-02-14 04:05:23 +08:00
63 lines
1.7 KiB
TypeScript
63 lines
1.7 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { Plugin, CordovaProperty, IonicNativePlugin } from '@ionic-native/core';
|
|
|
|
/**
|
|
* @name Uid
|
|
* @description
|
|
* Get unique identifiers: UUID, IMEI, IMSI, ICCID and MAC.
|
|
*
|
|
* @usage
|
|
* ```typescript
|
|
* import { Uid } from '@ionic-native/uid';
|
|
* import { AndroidPermissions } from '@ionic-native/android-permissions';
|
|
*
|
|
* constructor(private uid: Uid, private androidPermissions: AndroidPermissions) { }
|
|
*
|
|
*
|
|
* async getImei() {
|
|
* const { hasPermission } = await this.androidPermissions.checkPermission(
|
|
* this.androidPermissions.PERMISSION.READ_PHONE_STATE
|
|
* );
|
|
*
|
|
* if (!hasPermission) {
|
|
* const result = await this.androidPermissions.requestPermission(
|
|
* this.androidPermissions.PERMISSION.READ_PHONE_STATE
|
|
* );
|
|
*
|
|
* if (!result.hasPermission) {
|
|
* throw new Error('Permissions required');
|
|
* }
|
|
*
|
|
* // ok, a user gave us permission, we can get him identifiers after restart app
|
|
* return;
|
|
* }
|
|
*
|
|
* return this.uid.IMEI
|
|
* }
|
|
* ```
|
|
*/
|
|
@Plugin({
|
|
pluginName: 'Uid',
|
|
plugin: 'cordova-plugin-uid',
|
|
pluginRef: 'cordova.plugins.uid',
|
|
repo: 'https://github.com/lionelhe/cordova-plugin-uid',
|
|
platforms: ['Android']
|
|
})
|
|
@Injectable()
|
|
export class Uid extends IonicNativePlugin {
|
|
/** Get the device Universally Unique Identifier (UUID). */
|
|
@CordovaProperty UUID: string;
|
|
|
|
/** Get the device International Mobile Station Equipment Identity (IMEI). */
|
|
@CordovaProperty IMEI: string;
|
|
|
|
/** Get the device International mobile Subscriber Identity (IMSI). */
|
|
@CordovaProperty IMSI: string;
|
|
|
|
/** Get the sim Integrated Circuit Card Identifier (ICCID). */
|
|
@CordovaProperty ICCID: string;
|
|
|
|
/** Get the Media Access Control address (MAC). */
|
|
@CordovaProperty MAC: string;
|
|
}
|