离子backgorund模式崩溃

问题描述

我试图使用Ionic来运行背景模式,但是当我播放歌曲并启用背景模式时,应用程序崩溃了。

实际上,可以用Ionic设置背景模式吗?

这是我的代码

import { Component } from '@angular/core';
import {NavController} from '@ionic/angular';
import {NativeAudio} from '@ionic-native/native-audio/ngx';
import {BackgroundMode} from '@ionic-native/background-mode/ngx';

@Component({
  selector: 'app-home',templateUrl: 'home.page.html',styleUrls: ['home.page.scss'],})
export class HomePage {

  constructor(public navCtrl: NavController,public nativeAudio: NativeAudio,public backgroundMode: BackgroundMode) {
    this.nativeAudio.preloadSimple('audio1','assets/audio1.mp3').then((msg) => {
      console.log('message: ' + msg);
    },(error) => {
      console.log('error: ' + error);
    });
  }

  public playAudio(){
    this.backgroundMode.enable();
    this.backgroundMode.on('activate').subscribe(() => {
      this.nativeAudio.play('audio1');
    });
    this.nativeAudio.play('audio1',() => console.log('audio1 is done playing'));
  }

}

这是我当前的配置。

/bg-mode-example$ ionic info

Ionic:

   Ionic CLI                     : 6.11.11 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.3.5
   @angular-devkit/build-angular : 0.1000.8
   @angular-devkit/schematics    : 10.0.8
   @angular/cli                  : 10.0.8
   @ionic/angular-toolkit        : 2.3.3

Cordova:

   Cordova CLI       : 10.0.0
   Cordova Platforms : android 9.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0,cordova-plugin-ionic-webview 4.2.1,(and 6 other plugins)

Utility:

   cordova-res (update available: 0.15.1) : 0.6.0
   native-run (update available: 1.2.1)   : 0.2.8

System:

   Android SDK Tools : 26.1.1 (/home/gabriel/Android/Sdk)
   NodeJS            : v10.19.0 (/usr/bin/node)
   npm               : 6.14.8
   OS                : Linux 5.4

另外,我有一个gitlab存储库https://gitlab.com/gabrielrincon/bgmode-testing/

怎么了?

非常感谢。

解决方法

我可以做到。

问题是权限。 FOREGROUND_SERVICE。

我将其添加到platform / android / app / src / main / AndroidManifest.xml并工作

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

希望对您有帮助

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...