阅读Binding JavaScript code to Android code 的文档条目。
这允许您使用 javascript 来触发 android 代码的执行。
首先你要在android上注册Javascript接口,这样你就可以从javascript触发android代码了。
JAVA
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
并定义一个在调用 javascript 时执行您的操作的方法。在此示例中显示敬酒。
public class WebAppInterface {
Context mContext;
/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}
/** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
}
↑ 您需要更改该部分以显示您的推送通知。 ↑
然后你可以像这样从javascript触发android代码:
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
我自己没有试过。但我会尝试创建一个 javascript 方法,该方法以一定的时间间隔向服务器发出 ajax 请求,并检查是否有新的通知要发送,如果为真则调用 android 代码以显示消息。
但是,您必须确保只显示一次通知...也许设置一个包含通知 ID 的 cookie 并将其设置为 true,这样 android 代码就不会再次被触发。
您需要以 JSON 格式的 .json 文件等形式提供通知。您可以将该 .json 文件上传到某处的网络服务器。然后将内容传递给android并进行相应的解析。