我有一个离子2和角度2应用程序。我试过了 cordova插件添加cordova-plugin-iroot --save和cordova插件添加cordova-plugin-root-detection --save。他们都没有为我工作..两个插件都有类似的实现
IRoot.isRooted(successCallback,failureCallback); srootdetection.isDeviceRooted(successCallback,errorCallback);
分别..在这里,我无法导入" IRoot和srootdetection"来自npmmodules的类。
如果有任何方法可以限制应用安装,请分享您的回复。
提前致谢。 PIYUSH
答案 0 :(得分:2)
参考此工作代码:
RootDetection:仅限Android
安装插件 cordova插件添加cordova-plugin-root-detection
然后在 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);
});
}
答案 1 :(得分:1)
与 IRoot插件相关,它可以检查设备是否已扎根(Android情况)或越狱(Ios情况)。
步骤:
使用命令导入cordova-plugin-iroot
包
cordova plugin add cordova-plugin-iroot --save
在类文件的顶部将IRoot声明为var
declare var IRoot: any;
确保在设备准备就绪时使用检查的核心代码
返回的数据结果应为布尔型NOT号
所以你需要检查'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);
}
);
});