【问题标题】:Programmatically refresh screenshot in iOS7 multitasking screen?以编程方式刷新iOS7多任务屏幕中的屏幕截图?
【发布时间】:2014-01-24 21:59:39
【问题描述】:

我有一个实现背景音频的音乐播放器应用。当轨道发生变化时,我正在尝试更新 iOS7 多任务切换器中的屏幕截图。所以,如果我在歌曲 A 期间后台运行应用程序,它会结束并且歌曲 B 开始播放,如果我随后进入托盘,我希望看到显示歌曲 B 的艺术作品、标题等的屏幕截图。

我已经进行了一些挖掘,但没有找到任何方法来告诉 iOS 在不实施 Background Fetch 和全力以赴进行更新的情况下进行更新。是否有另一种方法可以做到这一点,我可以打电话告诉它在我的曲目发生变化时刷新它?

【问题讨论】:

    标签: ios objective-c cocoa-touch ios7 multitasking


    【解决方案1】:

    Apple 不提供任何方法来执行此操作。甚至iOS自带的媒体播放器也没有这个能力。

    【讨论】:

    • 因此,您可以通过实现application:performFetchWithCompletionHandler 并告诉completionHandler 您有新数据来更新它。这将导致它刷新,并获得一个新的快照。不过,不确定这是否构成滥用 API?
    • application:performFetchWithCompletionHandler 中没有任何地方表示快照将被更新。另外你不能自己调用​​这个方法,只有系统可以。
    • 对,但我可以告诉系统多久调用一次。如果我的第一首曲目是 3:20,并且我将其最小刷新设置为 200,则在 3:20 期间它不会再次调用它。然后,我会在每个新曲目开始时更新最小值。它不会是完美的,但总比没有好。我只是想知道在那种状态下这是否是应用被拒绝的理由。
    • 是的,您可以设置获取间隔,但是否要调用它取决于系统。它将查看应用程序被用户启动的频率,然后为您的应用程序安排后台获取。因此,您不可能 100% 控制它。此外,由于您的应用程序已经在后台运行,我的猜测是它不会被标记为后台获取。
    • 另外,如果您有兴趣,可以在其中一个 iOS7 技术讲座视频(集成 iOS7 技术)中了解更多关于更新快照的信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多