按下媒体通知时如何将用户返回我的TWA?

时间:2019-05-24 10:05:30

标签: html5-audio chrome-custom-tabs trusted-web-activity mediasession

我正在构建一个Android应用程序,该程序将我的Progressive Web App封装为Trusted Web Activity。 (我遵循Google's sample project的指南。)

当用户在应用程序中播放音频时,设备上会出现媒体通知。我正在使用网络媒体会话API自定义此通知的内容。

如果在普通的Web浏览器中运行PWA,则在显示通知后,按通知将使用户返回到相关的浏览器选项卡。 (如果手机已锁定,则会提示用户解锁。)

如果从TWA触发了媒体通知,则按该按钮将不执行任何操作。 (其他功能(如播放/暂停)可以按预期工作。)

Media Session API的范围相当有限。 MediaSession action types不包括使应用程序聚焦的动作。

navigator.mediaSession.setActionHandler('pause', () => {
            audioElement.pause();
            navigator.mediaSession.playbackState = 'paused';
        });

        navigator.mediaSession.setActionHandler('play', () => {
            audioElement.play();
            navigator.mediaSession.playbackState = 'playing';
        });

navigator.mediaSession.metadata = new MediaMetadata({
            title: 'App',
            artist: 'Name',
            artwork: [
                { src: '/android-chrome-192x192.png?v=47rE43RRzB', sizes: '192x192', type: 'image/png' },
                { src: '/android-chrome-512x512.png?v=47rE43RRzB', sizes: '512x512', type: 'image/png' },
            ],
        });

从TWA触发媒体通知时,我希望它具有与从Chrome等网络浏览器触发时相同的功能。

这包括在播放/暂停控件以外的任何位置按通知时,将用户返回TWA(或提示用户解锁设备)。

除此方面外,其他所有方法都适用。

0 个答案:

没有答案