我如何防止Cordova(3.2)应用程序在后台被Android杀死?

时间:2014-07-11 06:50:12

标签: android cordova cordova-3

大家好,这是我在StackOverflow上的第一个问题。

我正在使用Telerik AppBulider与Cordova 3.2制作应用程序,我在Android上遇到了问题。

应用程序放在后台时不应该被杀死。 如果我把它放在后台并使用多任务菜单重新打开它,该应用程序工作正常。 但是,如果我使用抽屉中的应用程序图标重新打开它,应用程序将重新启动。

它只发生在Android上(2.3,4.4,没有尝试其他)。在iOS上没问题。

我曾试图谷歌搜索解决方案,其中大部分都让我想到这个:

<preference name="KeepRunning" value="true"/>

Cordova 3.2 Documentation中记录,在添加它之后我的config.xml:

<?xml version="1.0" encoding="utf-8"?>
<cordova>
    <access origin="*"/>

    <content src="index.html" />

    <log level="DEBUG"/>
    <preference name="KeepRunning" value="true"/>

    <!-- For projects that target Apache Cordova 3.0.0 only, this <feature></feature> block ensures that button events and App plugin-related functionality will work as expected. -->
    <feature name="App">
        <param name="android-package" value="org.apache.cordova.App" />
    </feature>
</cordova>

但它没有帮助。

我已经听过暂停和恢复活动。

document.addEventListener('deviceready', function() {
    document.addEventListener('pause', aFunction, false);
    document.addEventListener('resume', anotherFunction, false);
}, false);

当我使用应用程序图标重新打开应用程序时,如何阻止应用程序重启?谢谢:))

2 个答案:

答案 0 :(得分:2)

尝试添加添加

  

机器人:launchMode = “singleInstance”

对于AndroidManifest.xml中的activity标记,您可以在 projectName / platforms / android / AndroidManifest.xml 中找到它。

这对我有用:)

答案 1 :(得分:1)

根据我的经验,&#34; keepRunning&#34;在Android中没有任何效果。

在Android中,如果应用程序处于后台,您无法避免系统杀死您的应用,但您可以使用标记Start-Sticky制作服务。如果服务已被杀死,系统将重新启动您的服务。

如果您想构建复杂的应用程序,请不要使用Cordova,而应使用Native Android!在Cordova,你总是可以做很多事情,就像在后台工作一样。

更多信息

点击此链接:keepRunning PhoneGap/Cordova 这是我的问题,我将回答所有信息。

相关问题