我正在 Build 一套壁纸离子3应用程序 . 我正面临着离子应用程序的3个主要问题 .

  • 侧面菜单滑动无法在真正的Android设备或模拟器中使用 . 只能在离子服务器中工作 - 在chrome浏览器中使用 .

  • 触摸纹波在真正的Android设备或模拟器中无效 . 只能在离子服务器中工作 - 在chrome浏览器中使用 .

  • 设置壁纸cordova插件无法正常工作 .

我尝试在离子论坛中搜索这个问题,但没有运气 . 我使用的插件是:cordova-plugin-wallpaper(https://www.npmjs.com/package/cordova-plugin-wallpaper) . 我按照他们的步骤但仍然没有输出 .

我更改了TypeScript代码,使用了'any'(Doc是关于使用JavaScript的旧版Ionic),但问题仍然存在 . 还尝试在插件xml中更改clobber标记 .

当按下设置壁纸按钮显示“运行时错误未捕获(在承诺中):TypeError:无法读取未定义的属性'壁纸”TypeError:无法读取属性'壁纸'未定义“in ionic serve --lab chrome browser .

链接到Google Cloud 端硬盘中的test1 ionic 3 app项目(由于尺寸较大,因此不包含node_modules文件夹):https://drive.google.com/drive/folders/0BxZZQyYJypvRMk1rN2stX2ppX2s

HTML:

<ion-header>
  <ion-navbar color="dark">
    <button ion-button menuToggle>
      <ion-icon name="menu"></ion-icon>
    </button>
    <ion-title>appname</ion-title>
  </ion-navbar>
</ion-header>

<ion-content>
                <ion-card>
                    <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ16sUl5EqIDeuP1AjIX6ESSbAFAcS2-JLr4znf-extlfIr47Ni"/>
                    <div>wallpaper</div>
                    <button ion-button small class='downl' (click)="setWall()">
                      Download</button>     
                  </ion-card>
     </ion-content>

打字稿:

import { Component } from '@angular/core';
import { NavController,Platform } from 'ionic-angular';

declare var window: any;
@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController, public platform: Platform) {

  }

  setWall() {
    this.platform.ready().then(() => {
        var setImg = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ16sUl5EqIDeuP1AjIX6ESSbAFAcS2-JLr4znf-extlfIr47Ni";

        window.plugins.wallpaper.setImageHttp(setImg, function(error) {
          if (error) {
            console.error(error);
         } else {
             console.log('Success setting wallpaper.');
         }
      });
    });
}

}

这里真正的问题是什么?