0

我知道当我的应用程序进入前台时我可以同​​步 NSUserDefaults。但它不能满足我的要求,我希望一旦我在设置包中更改设置,我的应用程序的音量可以同时改变,即使它是在后台运行的。

4

1 回答 1

2

我认为,当应用程序在后台运行(甚至手动)时,您无法 更改音量!!。

但是,当应用程序从后台唤醒时,您可以使用NSUserDefaultsDidChangeNotification

例子:

-(void)viewDidAppear:(BOOL)animated{

        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(defaultsSettingsChanged) name:NSUserDefaultsDidChangeNotification object:nil];    
  }

- (void)viewDidDisappear:(BOOL)animated{

    [[NSNotificationCenter defaultCenter] removeObserver:self];

}

-(void)defaultsSettingsChanged{

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    if([[defaults stringForKey:@"speech"] isEqualToString:@"0"])
    {
        speech.hidden = YES;
    }
} 
于 2012-11-07T05:19:07.967 回答