2017-09-27 75 views
0

我提到了nativescript-appList Plugin。我得到这个运行时错误无法读取未定义的属性getPackageManager无法读取属性getPackageManager undefined in angular2 nativescript

我在angular2-nativescript

import * as AppList from "nativescript-applist"; 

// inside the constructor 

console.log("First", "Test"); 

    AppList.getInstalledApps(function(apps) { 

     console.log("Second", "Test"); 

     }, { 
      withIcons: true 
     }); 

在命令提示符下,我无法看到这篇日志的console.log(“二”,“测试”)的内部构造运行下面的代码这一点; 。我只能看到这个日志console.log(“First”,“Test”);

回答

2

该插件似乎与Angular项目不兼容,但有一个简单的修复方法使其工作。为了做到这一点,你需要直接修改插件的源代码。或者克隆回购并应用下面的更改,然后npm pack生成新修改的tgz文件或安装该插件并直接修改node_modules/nativescript-applist/Apps.android.js中的代码(这不是一种好方法,因为删除node_modules文件夹时将删除所有更改)

要在角插件工作做follwing - 开放node_modules/nativescript-applist/Apps.android.js - 移动方法中的前两个延迟加载的特性

var androidApp = app.android; 
var androidAppCtx = androidApp.context; 

function getInstalledListOfApps(callback, cfg) { 
    // more code follows here 

function getInstalledListOfApps(callback, cfg) { 
    var androidApp = app.android; 
    var androidAppCtx = androidApp.context; 

    // more code follows here 

后,你是好去!

+0

感谢您的回答。它没有奏效,我测试了它。 – Steve

+1

我已经创建了一个测试项目,并且按照我的预期在上面进行了更改 - 您确定要在插件的源文件中进行更改吗?请记住,为了使这些更改生效,您需要保留'node_modules文件夹',但删除'platforms'文件夹并重建项目 –

+0

谢谢你的工作。我删除了平台并再次添加。 – Steve

相关问题