2012-10-05 27 views
1

我有一个phonegap应用程序,并希望调用javascript函数,而应用程序进入后台执行web服务调用来更新应用程序状态。为此,我正在使用writejavascript函数。但它没有调用该函数。我不知道它是否可能。 如果可能只是给我一个想法做这个stuff.Thanks提前。 NSString * tojs = [NSString stringWithFormat:@“downloadMgr.updateStatus('%d');”,status];}}Phonegap-触发从iOS调用应用程序enterintobackground

[self writeJavascript:tojs];

回答

3

使用Phonegaps事件'暂停'和恢复我认为这可能会帮助你。 如:

document.addEventListener("pause", onPause, false); 

    function onPause() { 
    // Handle the pause event 
    } 

Link

完整的例子

<!DOCTYPE html> 
<html> 
<head> 
    <title>Cordova Pause Example</title> 

<script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script> 
<script type="text/javascript" charset="utf-8"> 

// Call onDeviceReady when Cordova is loaded. 



function onLoad() { 
    document.addEventListener("deviceready", onDeviceReady, false); 
} 

// Cordova is loaded and it is now safe to make calls Cordova methods 
// 
function onDeviceReady() { 
    document.addEventListener("pause", onPause, false); 
    document.addEventListener("resume", onResume, false); 

} 

    function onResume() { 
    // Handle the resume event 
    } 
// Handle the pause event 
// 
function onPause() { 
} 

</script> </head> <body onload="onLoad()"></body> </html> 
+0

感谢您的想法Arjun.It对我来说确实很有帮助,但是在onPause方法中,并没有调用AJAX请求。当应用程序从后台切换到前台时,那些Ajax web服务被执行。 –

0

暂停事件不是在IOS大量的使用: -

在暂停处理,即去任何电话通过Objective-C将无法工作,也不会有任何交互式呼叫,如警报。这意味着您不能调用console.log(及其变体),或者来自Plugins或PhoneGap API的任何调用。这些只会在应用程序恢复时处理(在下一个运行循环中处理)。

相关问题