0

我用Phonegap/Cordova v1.9.0 开发了一个iphone 应用程序。

我想实现以下问题。

-当后台应用程序恢复活动时(点击应用程序图标时),显示的页面会自动重新加载-

可能我应该在 Appdelegate.m 或 MainViewController.m 中的函数 (void)applicationDidBecomeActive 中制作一些程序,但我不知道该怎么做。

请告诉我如何解决这种情况。

4

2 回答 2

1

您可以使用NSNotification观察者模式。在你的MainViewController.m文件中viewDidLoad,你可以添加一个观察者(注册通知):

- (void)viewDidLoad
{
    [super viewDidLoad];

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

然后你必须实现appDidBecomeActive:(你可以给选择器起任何名字,但你必须实现那个名字的方法)。在这个例子中:

- (void)appDidBecomeActive:(NSNotification *)notification {
    NSLog(@"App became active");
}

当应用程序恢复时,如果此视图控制器处于活动状态,它将简单地将其记录到控制台。您可以将任何您希望的代码放入该方法中(在您的情况下,刷新页面)。

dealloc当视图控制器在方法中被释放时,不要忘记移除观察者。这将为您删除所有观察者。

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    NSLog(@"Removed all notification observers");
}
于 2013-10-17T02:07:31.117 回答
0

您真的使用的是 1.9 版吗?

尝试这个:

document.addEventListener("resume", onResume, false);

function onResume() {
    // Handle the resume event, reload the page or content
}
于 2013-10-17T08:32:57.993 回答