diff --git a/ability/JsDistributedMusicPlayer/entry/src/main/config.json b/ability/JsDistributedMusicPlayer/entry/src/main/config.json index 1f0b159296010226ea0dc749d5b7e26104b859e9..79869938eb98e7fd34f0c5e8cf942862f0c640e4 100644 --- a/ability/JsDistributedMusicPlayer/entry/src/main/config.json +++ b/ability/JsDistributedMusicPlayer/entry/src/main/config.json @@ -43,7 +43,7 @@ "description": "$string:mainability_description", "label": "$string:app_name", "type": "page", - "launchType": "standard" + "launchType": "singleton" } ], "js": [ diff --git a/ability/JsDistributedMusicPlayer/entry/src/main/js/default/pages/index/index.js b/ability/JsDistributedMusicPlayer/entry/src/main/js/default/pages/index/index.js index e6f59e69f5595227f0280d23b0e91aacb848c69a..088e8f587f90337f8f4960855eb2a6b7ed82a94b 100644 --- a/ability/JsDistributedMusicPlayer/entry/src/main/js/default/pages/index/index.js +++ b/ability/JsDistributedMusicPlayer/entry/src/main/js/default/pages/index/index.js @@ -72,32 +72,41 @@ export default { }); this.playerModel.getPlaylist(() => { console.info('MusicPlayer[IndexPage] on playlist generated, refresh ui'); - - featureAbility.getWant((error, want) => { - console.info('MusicPlayer[IndexPage] featureAbility.getWant=' + JSON.stringify(want)); - var status = want.parameters; - if (status != null && status.uri != null) { - self.kvStoreModel.broadcastMessage(REMOTE_ABILITY_STARTED); - console.info('MusicPlayer[IndexPage] restorePlayingStatus'); - self.playerModel.restorePlayingStatus(status, (index) => { - console.info('MusicPlayer[IndexPage] restorePlayingStatus finished, index=' + index); - if (index >= 0) { - self.refreshSongInfo(index); - } else { - self.playerModel.preLoad(0, () => { - self.refreshSongInfo(0); - }); - } - }); - } else { - self.playerModel.preLoad(0, () => { - self.refreshSongInfo(0); - }); - } - }); + self.restoreFromWant(); }); console.info('MusicPlayer[IndexPage] onInit end'); }, + restoreFromWant() { + let self = this; + featureAbility.getWant((error, want) => { + console.info('MusicPlayer[IndexPage] featureAbility.getWant=' + JSON.stringify(want)); + var status = want.parameters; + if (status != null && status.uri != null) { + self.kvStoreModel.broadcastMessage(REMOTE_ABILITY_STARTED); + console.info('MusicPlayer[IndexPage] restorePlayingStatus'); + self.playerModel.restorePlayingStatus(status, (index) => { + console.info('MusicPlayer[IndexPage] restorePlayingStatus finished, index=' + index); + if (index >= 0) { + self.refreshSongInfo(index); + } else { + self.playerModel.preLoad(0, () => { + self.refreshSongInfo(0); + }); + } + }); + } else { + self.playerModel.preLoad(0, () => { + self.refreshSongInfo(0); + }); + } + }); + }, + onNewRequest() { + console.info('MusicPlayer[IndexPage] onNewRequest'); + this.playerModel.pause(); + this.playerModel.seek(0); + this.restoreFromWant(); + }, onBackPress() { console.info('MusicPlayer[IndexPage] onBackPress isDialogShowing=' + this.isDialogShowing); if (this.isDialogShowing === true) {