如果设备扎根或狱狱,如何限制离子2应用程序安装



我有一个离子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插件有关的

步骤:

  1. 使用命令导入cordova-plugin-iroot软件包
    cordova plugin add cordova-plugin-iroot --save

  2. 将iRoot声明为类文件顶部的var
    declare var IRoot: any;

  3. 确保在设备准备就绪时使用检查的核心代码

  4. 返回的数据结果预计将是布尔数
    因此,您需要检查" 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);
        }
  );
});

相关内容

  • 没有找到相关文章

最新更新