提供者离子,只有在生成apk时才能工作

时间:2017-10-16 00:30:55

标签: android cordova debugging ionic-framework provider

我按下按钮时会执行一些数据请求。因此,在我的按钮所在页面的ts文件中,我在我的提供程序中调用该函数。

当我编译我的Android平台应用程序(使用ionic cordova build --release android生成apk,然后我签署apk,对齐并安装它)时,主要问题出现了。在那种情况下,当我按下按钮没有任何反应时,我调试了代码(我添加了一些警报),但只执行了函数的第一行(我添加的警报),从不返回任何内容。

但..如果我使用以下命令运行应用程序:ionic cordova run android -lionic serve -l。它就像一个魅力(提供者返回请求的数据)

我的意思是,只有当我生成APK以将其安装到我的设备中时才会出现问题

我也试过HttpClient,但问题仍然存在。

我的提供商的代码是:

Search(path): Promise<any> {

  // -------------  The alert is shown

  return this.http.get(path)
    .map(res => res.json())
    .toPromise()
    .then(
        response => { 

           // -------------  The alert is not shown

            if (typeof response.user.name !== "undefined") {
                this.storage.set('users', JSON.stringify(response));
                return response;
            } else {
                return null;
            }
        },
        error => { 

           // -------------  The alert is not shown

           return null;
        });
}

我也试过这样的事情:

Search(path): Promise<any> {
  // -------------  The alert is shown
  return null;
}

但是,在这种情况下,永远不会执行返回行,只显示警报。

当我在按钮所在的页面中调用我的提供者函数时的代码:

this.APIService.Search(final_path).then(res => {
   if (res) {
      this.storage.get('users').then(responseJson => {
         if (responseJson) {
            this.navCtrl.push(ObtenerPage);
         }
      });
    } else {
       this.presentToast("Bad request");
    }
});

0 个答案:

没有答案