我有一个离子2 和 Angular 2 应用程序。
我需要检查设备是否已植根(Android案例(或越狱(iOS案例(?
我尝试了以下软件包(Cordova插件(:
-
cordova plugin add cordova-plugin-iroot --save
IROOT .isrooted(SuccessCallback,FailureCallback(; -
cordova-plugin-root-detection --save
rootDetection .isdevicerooted(SuccessCallback,errorCallback(;
不幸的是,它们都不对我有用...两个插件都具有类似的实现
我无法导入 IROOT 也不能从npm modules
。
如果有任何限制应用程序安装的方法,请分享您的响应。
预先感谢。piyush
参考此工作代码:
rootDetection:仅Android
安装插件 Cordova插件添加Cordova-Plugin-root-tetection
然后在 app.component.ts
中写下这些代码 declare var rootdetection:any;
platform.ready().then(() => {
if (typeof(rootdetection) !== 'undefined' && rootdetection) {
rootdetection.isDeviceRooted((data) => {
if (data && data == 1) {
console.log("This is routed device");
} else {
console.log("This is not routed device");
}
}, (data) => {
console.log("routed device detection failed case", data);
});
}
});
IROOT插件:Android&ios
安装插件 Cordova插件添加Cordova-Plugin-iRoot
然后在 app.component.ts
中写下这些代码 declare var IRoot:any;
if (typeof (IRoot) !== 'undefined' && IRoot) {
IRoot.isRooted((data) => {
if (data && data == 1) {
console.log("This is routed device");
} else {
console.log("This is not routed device");
}
}, (data) => {
console.log("routed device detection failed case", data);
});
}
与 IROOT插件有关的 步骤: 使用命令导入 将iRoot声明为类文件顶部的var 确保在设备准备就绪时使用检查的核心代码 返回的数据结果预计将是布尔数 最终脚本cordova-plugin-iroot
软件包
cordova plugin add cordova-plugin-iroot --save
declare var IRoot: any;
因此,您需要检查" true"不是" 1" platform.ready().then(() => {
IRoot.isRooted(
(data) => {
console.log('rooted device detection success case ' + data);
// check data value against true NOT 1
if (data && data === true) {
console.log('This is rooted device');
// ... do anything when device is rooted
} else {
console.log('This is not rooted device');
}
},
(data) => {
console.log('rooted device detection failed case ' + data);
}
);
});