首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推送角6和Phonegap的通知

推送角6和Phonegap的通知
EN

Stack Overflow用户
提问于 2018-07-02 12:07:58
回答 1查看 984关注 0票数 0

我必须在用角6和Phonegap编写的应用程序中实现推送通知处理。我安装了phonegap-plugin,当我在index.html中使用它时,它一般都能工作:

代码语言:javascript
复制
function onLoad() {
  document.addEventListener("deviceready", onDeviceReady, false);
  if (device.platform === 'Android') {
    setPushNotifications();
  } else {
    pushID = null;
  }
}

function setPushNotifications() {
  push = PushNotification.init({
    "android": {
      "senderID": "xxx",
      "icon": "notify_icon",
      "iconColor": "#1f5382"
    },
    "ios": {
      "sound": true,
      "vibration": true,
      "badge": true
    },
  });

  push.on('registration', (data) => {
    pushID = data.registrationId;
  });
  push.on('notification', data => {
    alert('PUSH arrived!');
    // go to another view in Angular... HOW :(
  });
}

我收到通知,系统显示它,但现在我必须去看。具有通知id的新闻页。我不能通过window.location实现这一点,当我试图声明var PushNotification: any;在app.component构造函数中,TS告诉我PushNotification没有声明。有小费吗?

EN

回答 1

Stack Overflow用户

发布于 2018-12-13 10:39:39

您需要在platformBrowserDynamic().bootstrapModule(AppModule)中用onDeviceReady包装main.ts:

代码语言:javascript
复制
const onDeviceReady = () => {
  platformBrowserDynamic().bootstrapModule(AppModule)
    .catch(err => console.log(err));
}

document.addEventListener('deviceready', onDeviceReady, false);

否则,AppModule是在科多瓦插件加载之前启动的,这就是为什么你有未定义的PushNotification。

第二件事是

我试图在PushNotification构造函数中声明var app.component : any;

declare let PushNotification: any;应该在AppComponent类之外。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51135884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档