1. 程式人生 > >HTML5+下用js獲取裝置的唯一識別碼和本地資料庫的操作

HTML5+下用js獲取裝置的唯一識別碼和本地資料庫的操作

首先獲取裝置的唯一標識,由於ios稽核的阻擋,我現在只是獲取它idfa來作為唯一識別碼(這個會被重置,如果idfa不重要的話是可以考慮此方法的),Android就不用多說了

if(ua.match(/iphone\sOS/i) == "iphone os"){//識別裝置ios/android
		var ASIdentifierManager = plus.ios.importClass("ASIdentifierManager");
		var sharedManager = ASIdentifierManager.sharedManager();
		if(sharedManager.isAdvertisingTrackingEnabled()){
			var advertisingIdentifier = sharedManager.advertisingIdentifier();
			var idfa = plus.ios.invoke(advertisingIdentifier,"UUIDString");
			return idfa;//獲取並返回idfa
		}
		//return device_id;
	}else{
		var device_id = plus.device.uuid.valueOf();
		return device_id.substring(0,15);//獲取andriod的uuid
	}

下面就用js來操作一下本地資料庫

deviceinfo.opendb = function(){//建立資料庫
	return openDatabase('TEST','1.0',"evaluateairport",2*1024*1024);
};
//操作資料的公共方法
deviceinfo.update = function(db,sql,func,funcerr){
	if(db&&sql){
		db.transaction(function(context){
			context.executeSql(sql,[],function(context,result){
				func(result);
			},function(context,error){
				funcerr(error);
			});
		});
	}
};
var db = deviceinfo.opendb();//一定要例項此資料庫,可以全域性使用

接下來是獲取拍照或錄影的方法

//獲取攝像功能  photo 拍照     video  錄影
deviceinfo.cameraOrVideo = function(actionflag,pathname,funsuc,funerr){
if(actionflag){//識別拍照或者錄影
var cmr = plus.camera.getCamera();
if(actionflag == "photo"){
var res = cmr.supportedImageResolutions[0];
var fmt = cmr.supportedImageFormats[1];//0格式png    1格式jpg
console.log("Resolution: "+res+", Format: "+fmt);
cmr.captureImage(
function(imgpath){
funsuc(imgpath);
},
function(imgerr){
funerr(imgerr);
},//引數配置 其中pathname是圖片的路徑和名稱
{resolution:res,format:fmt,filename:pathname});
}else if(actionflag == "video"){
var vidres = cmr.supportedVideoResolutions[0];
var vidfmt = cmr.supportedVideoFormats[0];
console.log("Resolution: "+vidres+", Format: "+vidfmt);
cmr.startVideoCapture(
function(vidpath){
funsuc(vidpath);
},
function(viderr){
funerr(viderr);
},//引數配置 其中 pathname是錄影檔案儲存的位置和錄影的名稱
{resolution:vidres,format:vidfmt,filename:pathname});
}
}
}

圖片壓縮

//壓縮圖片
deviceinfo.compressIMG = function(imgpath,dectpath,funsuc,funerr){
	plus.zip.compressImage(
		{
			src:imgpath,//源路徑
			dst:dectpath,//目標路徑
			format: 'jpg',//圖片格式
			quality:20,//質量 越小圖片質量越差
			overwrite:true//是否覆蓋
		},
		function(suc){
			funsuc(suc);
		},
		function(filed){
			funerr(filed);
		});
}