如何检测麦克风权限弹出

时间:2014-09-12 03:50:22

标签: ios nsnotificationcenter avaudiorecorder nsnotifications

我的应用中有一个动画正弦波,需要在用户点击主页按钮或锁定手机时关闭(关闭屏幕)。一旦用户将应用程序带回前台,就会再次触发正弦波动画。这工作正常,直到我意识到麦克风访问权限弹出时发生。因此麦克风访问弹出,导致我的应用程序进入后台并关闭动画,但应用程序仍然可见。我可以通过任何方式知道麦克风访问弹出窗口正在发生,所以我可以发表某种if声明吗?

-(void) appDidEnterForeground:(NSNotification *)notification
{
    if( viewIsUp == NO)
    {
         [self.sineWave.layer removeAllAnimations];
    }
     else
    {
         [self.sineWave animateWave];
    }
}


-(void) appDidEnterBackground:(NSNotification *)notification
{
    if(viewIsUp)
    {
        [self.sineWave.layer removeAllAnimations];
    }
}

1 个答案:

答案 0 :(得分:0)

我不小心将UIApplicationWillResignActiveNotification设置为通知appDidEnterBackground。当显示麦克风访问弹出窗口时,唯一将被调用的通知是UIApplicationWillResignActiveNotification。因此,当点击主页按钮或屏幕被锁定时,我会在调用UIApplicationDidEnterBackgroundNotification时删除动画,当显示麦克风访问弹出窗口时,我会在UIApplicationWillResignActiveNotification获取时保留动画调用。工作得很好。希望这有助于某人。