当应用程序在后台运行时以编程方式更改iPhone锁定屏幕

2023-12-03

我正在开发一个 iPhone 应用程序,当应用程序在后台运行时,我必须以编程方式更改锁屏图像。我有很多东西说这是不可能的,但有一个应用程序可以实现此目的,请让我知道如何实现这一点。

Thanks.


更改锁定屏幕图像的唯一方法是在播放音频时。 Police Scanner+ 可以播放音频,因此可以设置图像。这只适用于 iOS 5+,并且是这样完成的。

- (void)setupNowPlayingInfoCenter:(MPMediaItem *)currentSong
{
    NSString *ver = [[UIDevice currentDevice] systemVersion];
    CGFloat version = 4.0;
    if ([ver length] >= 3)
    {
        version = [[ver substringToIndex:3] floatValue];
    }

    if (version >= 5.0)
    {
        MPMediaItemArtwork *artwork = [currentSong valueForProperty:MPMediaItemPropertyArtwork];

        MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter];

        if (currentSong == nil)
        {
            infoCenter.nowPlayingInfo = nil;
            return;
        }

        infoCenter.nowPlayingInfo = [NSDictionary dictionaryWithObjectsAndKeys:
                [currentSong valueForKey:MPMediaItemPropertyTitle], MPMediaItemPropertyTitle,
                [currentSong valueForKey:MPMediaItemPropertyArtist], MPMediaItemPropertyArtist,
                [currentSong valueForKey:MPMediaItemPropertyAlbumTitle], MPMediaItemPropertyAlbumTitle,
                [currentSong valueForKey:MPMediaItemPropertyAlbumTrackCount], MPMediaItemPropertyAlbumTrackCount,
                [currentSong valueForKey:MPMediaItemPropertyAlbumTrackNumber], MPMediaItemPropertyAlbumTrackNumber,
                artwork, MPMediaItemPropertyArtwork,
                [currentSong valueForKey:MPMediaItemPropertyComposer], MPMediaItemPropertyComposer,
                [currentSong valueForKey:MPMediaItemPropertyDiscCount], MPMediaItemPropertyDiscCount,
                [currentSong valueForKey:MPMediaItemPropertyDiscNumber], MPMediaItemPropertyDiscNumber,
                [currentSong valueForKey:MPMediaItemPropertyGenre], MPMediaItemPropertyGenre,
                [currentSong valueForKey:MPMediaItemPropertyPersistentID], MPMediaItemPropertyPersistentID,
                [currentSong valueForKey:MPMediaItemPropertyPlaybackDuration], MPMediaItemPropertyPlaybackDuration,
                [NSNumber numberWithInt:self.mediaCollection.nowPlayingIndex + 1], MPNowPlayingInfoPropertyPlaybackQueueIndex,
                [NSNumber numberWithInt:[self.mediaCollection count]], MPNowPlayingInfoPropertyPlaybackQueueCount, nil];
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当应用程序在后台运行时以编程方式更改iPhone锁定屏幕 的相关文章

随机推荐

  • gdb 如何启动汇编编译的程序并一次执行一行?

    Valgrind 在他们的文档页面上说了以下内容 然后 您的程序将在 Valgrind 核心提供的合成 CPU 上运行 然而GDB似乎并没有这样做 它似乎启动了一个独立执行的单独进程 据我所知 也没有c 库 这就是我所做的 使用 clang
  • 删除sequelize返回值中的连接表数据

    我目前正在尝试删除一个joint检索关联数据时添加的表数据 查询是通过使用通过指定模型关系添加到模型的方法的sequelize来完成的 sequelize magic methods 由于某种原因 我无法做到这一点 我目前已尝试传递attr
  • Python 替换单引号(撇号除外)

    我正在对单词列表执行以下操作 我从古腾堡项目文本文件中读取行 用空格分割每一行 执行一般标点符号替换 然后在其自己的行上打印每个单词和标点符号标签 以便稍后进一步处理 我不确定如何用标签替换每个单引号或排除所有撇号 我当前的方法是使用编译的
  • SQL Server 2005:从 WHERE 子句调用存储过程

    我需要在 WHERE 子句中调用存储过程来进行 SELECT 应该是这样的 选择不同的前 10 名 i x d droit 来自 v droit d v info i WHERE d nomdroit yy AND i id2 AND 从
  • 转移矩阵

    考虑以下数据框 df data frame cusip paste A 1 10 sep xt c 1 2 3 2 3 5 2 4 5 1 xt1 c 1 4 2 1 1 4 2 2 2 5 数据分为五个州 哪个是分位数事实上 1 2 3
  • 无法读取未知加载命令0x80000022

    在我的应用程序中 我使用了大量从 Apple 的 SpeakHere 示例中复制的代码 当我在 iPhone 设备上运行该应用程序时 它在加载 XIB 之前会抛出此错误大约一百次 unable to read unknown load co
  • 如何在 Tomcat 上使用 JPA、Hibernate 和 Spring 避免类加载器泄漏

    The 打开 J2EE Web 模板是一个展示应用程序 wicket 在 Tomcat7 servlet 容器上运行的带有 Spring 和 Hibernate 的 JPA 它的 Maven 构建脚本似乎以标准方式使用组件 但是 当从 To
  • MinGW、MinGW-w64 和 MinGW-builds 之间有什么区别?

    两者有什么区别MinGW 明GW w64 and MinGW 构建 我应该使用哪一个在 Windows 8 机器上使用 Eclipse IDE 编译 c 11 源代码 MinGW 是 Windows 的 GCC 端口 并非所有 Window
  • 连续解雇2个ViewController

    我尝试了两种方法来连续解雇 2 个视图控制器 但只有其中一个被解雇 而不是第二个 method1 void LoginDone NSNotification notif self dismissViewControllerAnimated
  • 从图库中获取图像并在 ImageView 中显示

    我需要通过单击按钮从图库中获取图像并将其显示到图像视图中 我按照以下方式进行 btn image button setOnClickListener new View OnClickListener Override public void
  • 如何将文件从 DOS 转换为 Unix [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我需要在 PowerShell 中将文件从 DOS 转换为 Unix 我知道这在 Unix 中可以很容易地完成 dos2unix file newfile 它可以很简单 Get Co
  • 在java中在很短的时间内搜索一个非常大的ARPA文件

    我有一个将近 1 GB 的 ARPA 文件 我必须在不到 1 分钟的时间内完成搜索 我搜索了很多 但还没有找到合适的答案 我想我不必阅读整个文件 我只需跳转到文件中的特定行并读取整行 ARPA 文件的行长度不同 我不得不提一下 ARPA 文
  • 谷歌工作表单元格重新计算

    我正在创建一款棋盘游戏 并决定为此目的选择 Google 表格 我已将问题简化为由一张纸和一个脚本组成的最小示例 情况 Following points refer to my dice sheet Cells B2 C5 contain
  • 如何在不编辑函数签名的情况下纠正“无法推断适当的生命周期”?

    背景 我正在创建一个返回切片引用的迭代器 T 但数据向量需要保持不可变 迭代器cannot修改原始数据 但修改后必须重复返回相同的切片指针 我考虑过让我的迭代器拥有一个Vec
  • 使用STS创建新的Web应用程序项目时找不到Spring MVC项目?

    我是 Spring MVC 的新手 并尝试从互联网教程中学习 例如来自期刊开发 泉源 and codejava 所有这些都告诉我使用STS作为 IDE 并寻求New Project Spring Template Project Sprin
  • 将 String 中的类型名称反映为 Scala 中的实际类型

    我有以下类对象 class DefaultValue A val default A object DefaultValue implicit object DefaultDouble extends DefaultValue Double
  • 为什么我们不能在同一个类中声明一个类的对象?

    class A A a why can t we do this 因为类的大小是无限的 这是通过指定不能将不完整的类型作为成员 只能将其引用或指针来以语言方式完成的 并且A在类定义结束之前是一个不完整的类型
  • ARC编译器下缺乏自动释放优化

    我只是想知道 为什么ARC编译器下没有自动释放池优化 它将在最内层作用域中保留一个对象 将其从自动释放池中删除 并在该对象不再使用时释放它 引用另一个问题中一个非常不切实际的例子 for NSUInteger i 0 i lt 10000
  • 如何从 ReactiveCommand 捕获异常?

    我知道如何处理由调用的异步任务引发的异常ReactiveCommand
  • 当应用程序在后台运行时以编程方式更改iPhone锁定屏幕

    我正在开发一个 iPhone 应用程序 当应用程序在后台运行时 我必须以编程方式更改锁屏图像 我有很多东西说这是不可能的 但有一个应用程序可以实现此目的 请让我知道如何实现这一点 Thanks 更改锁定屏幕图像的唯一方法是在播放音频时 Po