我的Android项目是一个Ionic应用程序,可以在将应用程序推送到后台时传输音频。 MusicController插件处理背景音频。一切都适用于我的应用程序,即在其他应用程序内部进行操作时可以在后台播放音频。
但是,当我点击我的应用程序中的URL(通过InAppBrowser插件(= IAB)在系统浏览器中启动)时,音频会停止并且MusicController会停止并关闭。然而,应用程序本身尚未关闭,因为它可以从任务视图重新激活而不显示启动画面。
有人会知道为什么会这样吗?我可以阻止IAB插件关闭音频通道吗?
在我的.ts中:
import { InAppBrowser } from '@ionic-native/in-app-browser';
构造
private iab: InAppBrowser,
打开链接的功能:
openExternalBrowser(link) {
this.iab.create(link, '_system');
}
其他信息:
当从他们自己的图标打开任何系统浏览器时,音乐一直在后台播放,所以问题似乎在IAB插件中。
答案 0 :(得分:0)
有些重大事情归结为小错误......我找到了发生这种情况的原因。问题不在插件中,而是HTML代码中的一个错误,我多次忽略了......
<a href (click)="openExternalBrowser(item.webURL)">{{ item.webURL }}</a>
留在那里的 href 标记已经过时了...当点击链接元素时,它无法决定该做什么,它实际上会通过返回来崩溃我的应用到主页(并关闭背景音乐播放器)。
因此,简单的解决方案是从HTML中删除href:
<a (click)="openExternalBrowser(item.webURL)">{{ item.webURL }}</a>
这一切都像它应该的那样!