android - 如何在 WebView 中获取位置
问题描述
在我的 MainActivity 中,我可以使用如下代码获取 Location:
private BroadcastReceiver broadcastReceiver;
private Location currentLocation;
@Override
protected void onResume(){
super.onResume();
if(broadcastReceiver == null){
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
currentLocation = (Location)intent.getExtras().get("coordinates");
}
};
}
registerReceiver(broadcastReceiver, new IntentFilter("location_update"));
}
现在我WebView
在这个 Activity 中,想将 Location 发送到 JavaScript 里面WebActivity
。
要将代码从Java
代码发送到 JS 代码中,WebActivity
我创建了 webinterface 类并使用如下代码:
@JavascriptInterface
public String GetHi(){
return "Hi";
}
但是我如何发送位置?
解决方案
您始终可以使用良好的旧 Json 将数据传递到 Javascript 端(此后称为 The Dark Side)。序列化您的数据并将其作为序列化的 JSON 字符串传递给您的 Dark Side,然后在 Dark Side 中您可以将其反序列化为您的 Javascript Location 对象。
推荐阅读
- localization - 使用 Avalonia 和资源文件动态更改应用程序的本地化不起作用
- apache-spark-sql - Databricks - 不为空,但不是 Delta 表
- ruby-on-rails - 处理 solr facet 结果
- elasticsearch - 更新/创建文档后 ElasticSearch 崩溃
- javascript - 如何使用 get document.getElementById 更改按钮 div
- javascript - 当类型是地图的任何成员时提高打字稿速度?
- docker - 我无法使用 github 操作在 monorepo 中创建 docker 映像
- javascript - 如何读取/获取其中元素的文本标签
- javascript - 在多个 json 结构中按键搜索多个元素
- microsoft-graph-api - Microsoft Graph API:从正在进行的团队会议中获取与会者或参与者