我正在开发我的团队以及一个必须在后台运行的应用程序,当套接字调用的事件应该将应用程序放在前台时。
应用程序必须与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);
}
}
我使用这个插件而不是为我自己开发一个,它是一个分叉的回购https://github.com/suhail339/cordova-bring-to-front
请记住,从Cordova CLI安装,visual studio插件安装程序可能会产生问题。