我正在开发我的团队以及一个必须在后台运行的应用程序,当套接字调用的事件应该将应用程序放在前台时。
应用程序必须与viber或whatsapp调用类似。我此时停了下来。我的应用程序现在可以调用音频和振动,但我必须将屏幕绘制到前台。
我正在使用5.1.1版本的phonegap。
我是这个插件:https://github.com/katzer/cordova-plugin-background-mode
有人可以帮我一把吗?非常感谢这一点。
答案 0 :(得分:6)
我找到了办法!使用“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);
}
}
答案 1 :(得分:1)
我使用了这个插件,而不是自己开发一个插件,它是一个分叉的仓库 https://github.com/suhail339/cordova-bring-to-front
请紧记从Visual Studio插件Cordova CLI安装 安装程序可能会造成问题。