AppBaseInfoDeviceUtil.uts 2.4 KB
Newer Older
DCloud-yyl's avatar
DCloud-yyl 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

import { UTSAndroid as Device} from "io.dcloud.uts";
import PackageManager from 'android.content.pm.PackageManager';
import Context from 'android.content.Context';
import PackageInfo from 'android.content.pm.PackageInfo';
import UiModeManager from 'android.app.UiModeManager';
import Activity from 'android.app.Activity';
export class AppBaseInfoDeviceUtil{
	
	public static getAppID(): string {
		return Device.getAppId();
	}
	
	public static getAppName(context: Context): string {
		let packageManager = context.getPackageManager();
		return packageManager.getApplicationLabel(context.getApplicationInfo()).toString()
	}
	
	public static getPackageName(context: Context): string {
		return context.getPackageName();
	}
	
	public static getAppVersionName(): string {
		return Device.getAppVersion()["name"].toString();
	}
	
	public static getAppVersionCode(): string {
		return Device.getAppVersion()["code"].toString();
	}
	
	public static getHostVersion(context: Context): string {
		let packageManager = context.getPackageManager();
		let applicationInfo = packageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_ACTIVITIES);
		return applicationInfo.versionName;
	}
	
	public static getHostCode(context: Context): string {
		let packageManager = context.getPackageManager();
		let applicationInfo = packageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_ACTIVITIES);
		return applicationInfo.versionCode+"";
	}
	
	public static isSystemNightMode(activity: Activity): boolean {
		let uiModeManager = activity.getSystemService(Context.UI_MODE_SERVICE) as UiModeManager;
		return uiModeManager.getNightMode() == UiModeManager.MODE_NIGHT_YES;
	}
	
	public static getOsLanguage(context: Context): string {
		return Device.getLanguageInfo(context)["osLanguage"].toString();
	}
	
	public static getOsLanguageNormal(context: Context): string {
		const LOCALE_ZH_HANS = 'zh-Hans'
		const LOCALE_ZH_HANT = 'zh-Hant'
		let locale = Device.getLanguageInfo(context)["appLanguage"].toString();
		if (locale.indexOf('zh') === 0) {
			if (locale.indexOf('-hans') > -1) {
				return LOCALE_ZH_HANS;
			}
			if (locale.indexOf('-hant') > -1) {
				return LOCALE_ZH_HANT;
			}
			if (locale.includes("-tw") || locale.includes("-hk") || locale.includes("-mo") || locale.includes("-cht")) {
				return LOCALE_ZH_HANT;
			}
	
			return LOCALE_ZH_HANS;
		} else {
			return locale;
		}
	}
	
	public static getAppInnerVersion(): string {
		return Device.getInnerVersion();
	}
}