检查背景音频播放,如果是,请转到确切页面



我想在启动应用程序或激活后检查BackgroundAudioPlayer是否正在播放,如果是,则转到带有播放器的页面。我知道我无法使用导航服务,我发现在 App.xaml 中.cs我应该像在激活中使用 RootVisual 一样,但它不起作用。RootVisual 为空。第一个没有错误,但问题是我到了 MainPage.xaml。那么我该如何解决呢?谢谢

    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        if (BackgroundAudioPlayer.Instance.PlayerState == PlayState.Playing)
            RootFrame.Navigate(new Uri("/PlayerPage.xaml", UriKind.RelativeOrAbsolute));
    }
    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        if (BackgroundAudioPlayer.Instance.PlayerState == PlayState.Playing)
            (Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/PlayerPage.xaml", UriKind.RelativeOrAbsolute));
    }

我已经修改了你的代码,请看一下;它会为你工作。

从Application_Activated事件中删除代码并放入Application_Launching事件中。并且不要在Application_Activated上写任何东西。(就导航上下文而言)。请执行两个步骤:

步骤-1转到 WMAppManifest.xml 文件并从默认任务中删除"MainPage.xaml"条目。并保持NavigationPage的空条目。像这样NavigationPage=""

有关相同的内容,请参阅以下代码片段。

<Tasks>
    <DefaultTask  Name ="_default" NavigationPage=""/>
  </Tasks>
  <Tokens>
    <PrimaryToken TokenID="liveTilesToken" TaskName="_default">
      <TemplateType5>
        <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
        <Count>0</Count>
        <Title>liveTiles</Title>
      </TemplateType5>
    </PrimaryToken>
  </Tokens>

步骤-2 相应地更新代码

private void Application_Launching(object sender, LaunchingEventArgs e)
        {
            Uri newUri = null;
            newUri = true ? new Uri("/MainPage.xaml", UriKind.Relative) : new Uri("/PlayerPage.xaml", UriKind.Relative);
            RootFrame.Navigate(newUri);
        }

希望对您有所帮助。

谢谢。

相关内容

  • 没有找到相关文章

最新更新