同步离子应用程序的外部Android服务

时间:2017-03-20 14:09:14

标签: android ionic-framework badge

我试图让一个离子应用程序获取启动应用程序图标上的通知徽章。 据我所知,如果离子应用程序关闭(不在后台)是不可能的,所以,任何人都知道是否有可能创建一个我总是在后台运行并同步我的Android服务离子应用程序,更新图标徽章?

提前谢谢

1 个答案:

答案 0 :(得分:0)

自@Shiben问道,这就是我解决它的方法。

- 在您的app.component.ts中执行以下操作:

export class MyApp {
rootPage:any = HomePage;
firebase : any;

constructor(public platform: Platform, 
                   public statusBar: StatusBar, 
                   public splashScreen: SplashScreen, 
                   private _firebase: Firebase,
                   public alertCtrl: AlertController) {

  platform.ready().then(() => {
  (your things)
  this.firebase = _firebase;
  this.initFirebase();
  this.firebase.setBadgeNumber(0);
 });
}

这是我的initFirebase():

initFirebase(){

this.firebase.grantPermission();

this.firebase.onTokenRefresh()
  .subscribe((token: string) => localStorage.setItem("pushToken", token)) 

this.firebase.onNotificationOpen()
.subscribe((notification) => {
  let alert = this.alertCtrl.create({
    title: 'New Notification',
    subTitle: "Your notification",
    buttons:['OK']
  });
  alert.present();
});
}

-Inor index.html插入这样的东西(你是从firebase获得的)

<script src="https://www.gstatic.com/firebasejs/3.9.0/firebase.js"></script>
<script>
  // Initialize Firebase
  var config = {
    apiKey: "your key",
    authDomain: "your domain",
    databaseURL: "your url",
    projectId: "your projid",
    storageBucket: "your storagebucket",
    messagingSenderId: "your messageid"
  };
firebase.initializeApp(config);
</script>

我很久以前做过这件事,可能会有所改变。这可以被弃用,或者不是最好的做法,但是,我希望它能让你朝着正确的方向前进。