• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何禁用 iPhone 'app not active' 闪烁横幅

[复制链接]
菜鸟教程小白 发表于 2022-12-12 19:23:51 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

当我的应用不是事件应用时,我的应用会检查 GPS,而且我也在后台使用 AVAudioplayer。

它工作正常,并保持在后台做它的事情,但 ios7 显示这个红色的顶部横幅,当它不是事件的应用程序时,我的应用程序名称会在上面闪烁。

如何禁用此横幅,使用其他被压缩到 1 行的应用程序很烦人?

我知道这可以做到,因为我有其他基于 GPS 的后台应用程序不显示此闪烁横幅。

编辑 - 所以我们很快找到了答案,但解决方案避开了我: 如果我在程序处于事件状态时使用调用此方法的按钮阻止 OpenEars pocketsphinxController 监听,则应用程序失去焦点时横幅会消失:

-(void) mystopListening{
   NSLog(@"Tried to stop listening");
   [pocketsphinxController stopListening];
}

但是如果我从我的应用程序委托(delegate)中调用相同的方法(我必须在我的应用程序委托(delegate).h 中导入我的 View Controller .h 文件并添加 -(void) nystopListening; 在我的 View Controller .h 中进行以下操作正确执行):

- (void)applicationWillResignActiveUIApplication *)application{
   myViewController * vc = [[myViewController alloc]init];
   [vc mystopListening];
}

横幅仍然存在!这有点像 ios7 在我有机会关闭它之前就决定我是录音的罪魁祸首。或者,我什至要关闭它吗? 我该如何有效地做到这一点?在什么情况下?

编辑 - 所以当从应用程序委托(delegate)调用“mystopListening”时,我并没有真正关闭pocketsphinxController。我知道这一点,因为它确实在从应用程序委托(delegate)调用时记录了“试图停止监听”,但 pocketsphinxController 没有用它的“pocketsphinxDidStopListening”方法响应。当我在应用程序处于事件状态时从按钮调用“mystopListening”时,PocketsphinxController 确实调用了它的“pocketsphinxDidStopListening”方法。

为什么当从应用程序委托(delegate)调用时,pocketsphinxController 没有响应,我一定是做错了?

谢谢,卡门



Best Answer-推荐答案


原来我并没有真正从我的应用委托(delegate)中调用原始 pockectsphinxcontroller 实例。

作为解决问题的方法,我这样做了:

我的应用程序总是有一个计时器在运行,所以在我的应用程序委托(delegate)中,我会注意到应用程序何时进入非事件状态并恢复事件状态,我只需设置全局标志,以便我的计时器可以知道应用程序的事件状态。然后我的计时器只是使用 pockecsphinxcontroller 方法来停止和开始收听,瞧,当应用程序不活动时,横幅不再存在。

关于ios - 如何禁用 iPhone 'app not active' 闪烁横幅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22003433/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap