Javascript Cordova/Phonegap唤醒应用程序处理传入的webrtc电话
我已经用cordova/phonegap编写了一个音频/视频通话混合应用程序。我曾经 1) 用于音频或视频实际流的webrtc 2) 服务器发送事件(SSE)以侦听传入呼叫 3) 简单对等 当应用程序打开时,一切都很顺利,我可以接收来电信号等并连接。问题是当应用程序关闭时。我无法打开应用程序或获取任何类型的呼叫状态指示 我决定做一些挖掘工作,很快发现这在网络视图中是不可能的。我尝试了一些插件,比如它在一段时间内工作得很好,但会很快耗尽电池,你的应用可能会在appstore通知中被拒绝 当我的应用程序打开时,来电将被正确捕获。我只需要打开应用程序。我阅读了有关后台推送消息(无声)的信息,但未能将其打开应用程序。推送消息处理程序仅在应用程序位于前台时调用 所以我终于找到了这个医生,这是我得到的最接近这个答案。Phonegap/Cordova应用程序中不直接支持后台服务 原因是你的混合应用程序是用JS编写的,你的JS代码 在具有Web视图的活动中运行。一旦退出应用程序, 应用程序已暂停 如果你真的想在安卓系统中提供后台服务,你可以 用Java(本机)编写Android服务,并从 你的JS代码。(后台服务为本机,应用程序为JS) 综上所述,我推断我必须执行检测来自java服务的传入调用的实际逻辑,如果我检测到任何东西,我可以强制打开我的应用程序。下面是我打开应用程序后所做的简单逻辑Javascript Cordova/Phonegap唤醒应用程序处理传入的webrtc电话,javascript,java,cordova,webrtc,phonegap,Javascript,Java,Cordova,Webrtc,Phonegap,我已经用cordova/phonegap编写了一个音频/视频通话混合应用程序。我曾经 1) 用于音频或视频实际流的webrtc 2) 服务器发送事件(SSE)以侦听传入呼叫 3) 简单对等 当应用程序打开时,一切都很顺利,我可以接收来电信号等并连接。问题是当应用程序关闭时。我无法打开应用程序或获取任何类型的呼叫状态指示 我决定做一些挖掘工作,很快发现这在网络视图中是不可能的。我尝试了一些插件,比如它在一段时间内工作得很好,但会很快耗尽电池,你的应用可能会在appstore通知中被拒绝 当我的应用
if (documentLoaded && isLoggedIn)
{
//url returns json only if there is an incoming call otherwise empty
var source = new EventSource("https://www.url.com/api/sse/incomingcall.php?userid=" + userid, {
withCredentials: true
});
source.addEventListener("incomingcalls", function (event) {
var callSession = JSON.parse(event.data);
// HandleIncomingCall();
}, false);
}
我的问题是我不是一个java程序员,以前也没有写过插件。我如何创建一个android服务,定期监听上面的url,如果检测到任何json,请打开我的应用程序 cordova有一些后台插件,你试过吗?是的,我试过了,但有很多应用程序被拒绝的警告,当我禁用WebViewOptimization时,它也会消耗大量电池。为了让它进入完美的工作状态,好吧,因为你我在Java方面不够好,所以我希望你能找到一个解决方案。祝你好运