当前位置: 首页 > 知识库问答 >
问题:

iOS MPMoviePlayerViewController-当应用程序被发送到后台时如何删除?

洪光霁
2023-03-14

当应用程序退出活动(或移到后台)时,什么是正确的方法来解雇播放器?

共有1个答案

空枫涟
2023-03-14

好的,当应用程序即将被发送到后台时,我最终使用通知来“清理”我的MPMoviePlayerViewController。这允许我检测应用程序何时将从我的应用程序委托之外的类发送到后台。

因此,当我创建电影播放器时,我添加了观察者,以便在应用程序发送到后台时调用我的“清理”函数。

(附注--我还使用了一个观察器来防止视频结束后自动关闭电影视图。这样用户就必须按下“完成”按钮。该按钮还调用moviePlayerCleanup方法。这可以确保观察器总是正确地被删除)

- (IBAction)buttonVideo:(id)sender {        

    // Register Movie Player for UIApplicationWillResignActiveNotification
    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(moviePlayerCleanup) name: UIApplicationWillResignActiveNotification object: nil];

/*...set video URL, options, add to subview, etc etc here....*/
}
-(void)moviePlayerCleanup{
    // Remove the movie player view controller from the ApplicationWillResign notification observers
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillResignActiveNotification object:nil];    
    //Dismiss view
    [self dismissMoviePlayerViewControllerAnimated];
}
 类似资料:
  • 我正在尝试构建一个实时聊天应用程序。 我已经整合了https://pub.dev/packages/flutter_local_notifications用于推送通知的软件包,这是有效的。 我没有使用Firebase,我正在使用我自己的自定义后端,使用https://socket.io/进行实时聊天。 我想在用户发送聊天信息时接收推送通知。推送通知在应用程序处于前台或后台时起作用。但是,当我从进程

  • 我正在尝试熟悉Firebase通知。它的工作很好,但是当应用程序没有打开的时候,我只能从通知控制台接收消息。 我知道文件上说: 如果您的应用程序在前台或后台,您可以通过onMessageReceived方法接收消息,否则用户将在任务栏中接收通知。点击它会打开主活动,里面有数据 ====回答==== 在此查找答案 无法从通知控制台发送数据消息。 授权-key=your_server_key_here

  • 从这个点心可以看出,我背靠背嵌入了两个相同的动画gif。 第一个循环始终按预期运行。 但第二,当应用程序被发送到后台并检索回前台时,非循环动画gif将丢失。 有什么办法可以避免这种情况吗?

  • 我遵循本教程在我的android设备上接收推送通知。 我可以从Firebase控制台发送推送通知-我还可以在logcat中看到Firebase事件,但我的永远不会被触发。我的应用程序在前台运行。 以下是我发送通知后logcat中的输出: MyFirebaseMessageService.java FirebaseIDService.java AndroidManifest.xml: build.g

  • 问题内容: 有没有办法将应用程序发送到后台?与如何调用类似,我有一些UI元素可以测试。有谁知道这是否完全可能? 问题答案: 我建议退房。这是您可以按“主页”按钮然后重新启动应用程序的方法

  • 我已经编写了一个Windows7.5 phone应用程序,用于注册mpns的tile和toast推送通知。我有所有的基础设施工作和电话注册的MPNS。我将ChannelUri保存在手机上,然后将ChannelUri发布到我网站上记录设备/ChannelUri的rest服务endpoint。我可以从web服务发送toast和tile消息,并在电话上接收它们,没有任何问题。如果应用程序正在运行,我可以