Cordova Android应用-明确确定设备是否为虚拟设备

问题描述

是否存在确定设备是否为虚拟设备的明确方法?以及如何?

在Google更改新政策之前,我已经让用户从设备发送短信以进行验证,但是现在不允许我从用户设备发送短信。

我确实使用Cordova文件插件和照相机作为测试找到了一些有趣的东西,但是我无法应用在此链接中找到的示例:

https://www.raymondcamden.com/2015/11/30/how-to-tell-if-a-cordova-application-is-running-in-the-simulator

这是代码示例:

var sourceType = device.isVirtual ? camera.PictureSourceType.PHOTOLIBRARY:Camera.PictureSourceType.CAMERA;

navigator.camera.getPicture(picDone,picFail,{
sourceType: sourceType,destinationType:Camera.DestinationType.FILE_URI
});

该示例似乎可行,但不完整。同样,当我使用Memu,Nox播放器,Bluestacks和Genymotion测试文件插件变量“ device.isVirtual”时,它始终返回false。

我正在寻找类似的结果

var Virtual = false;
if(!Camera.PictureSourceType.CAMERA)
var Virtual = true;

if(Virtual){
send user to restricted access warning
return;
}

我尝试的另一种方法是通过检查本地文件的“ URL的文件路径”:如果斜线以某种方式指向,则基于Windows,否则基于android:

“ /”将基于Windows,而“”将基于android,但也不是100%可行,实际上我很理解使用它的方法。

这里的任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...