Phonegap - 从背景到前景

Phonegap - Bring from background to foreground

我正在开发我的团队以及一个应用程序,当套接字调用的事件应该将应用程序置于前台时,该应用程序必须 运行 在后台。

应用程序必须进入前台,类似于 viber 或 whatsapp 调用。我在这一点上停了下来。我的应用程序现在可以调用音频和振动,但我必须将屏幕绘制到前台。

我使用的是 5.1.1 版 phonegap。

我是这个插件:https://github.com/katzer/cordova-plugin-background-mode

有人可以帮帮我吗?已经非常感谢了。

我找到方法了!使用 "toForeground" 插件。 https://github.com/caioladislau/cordova-toforeground

      cordova.plugins.backgroundMode.enable();

      cordova.plugins.backgroundMode.onactivate = function() {
        setTimeout(function(){ 
          toForeground("MainActivity", "com.me.myapp", function() {
            navigator.notification.vibrate(1000);
          }, function(){
            navigator.notification.vibrate(5000);
          }); 
        }, 4000);
      };

注意调用的地方:

toForeground(mainClassName, packageName, successFunction, errorFunction);

为了找到 "mainClassName" 和 "packageName" 我搜索了:platforms/android/src/com/me/myapp/MainActivity.java,我找到了:

package com.me.myapp;

import android.os.Bundle;
import org.apache.cordova.*;

public class MainActivity extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);
    }
}

我已经使用了这个插件而不是为我自己开发一个插件,它是一个分支的 repo https://github.com/suhail339/cordova-bring-to-front

Keep in mind to install from Cordova CLI, visual studio plugin installer might create problem.