Java 谷歌地图链接未从Android应用程序上的webView打开
我在我的应用程序中加载了一个网络视图,其中显示了一些按钮,每个按钮都会启动一条使用谷歌地图生成的路线 问题是,当我点击“在应用程序中导航”时,什么都没有发生 我遇到了Java 谷歌地图链接未从Android应用程序上的webView打开,java,android,webview,Java,Android,Webview,我在我的应用程序中加载了一个网络视图,其中显示了一些按钮,每个按钮都会启动一条使用谷歌地图生成的路线 问题是,当我点击“在应用程序中导航”时,什么都没有发生 我遇到了URL\u unknown\u SCHEME错误,但通过添加和@override 我的代码如下所示: package com.example.listarehtgps2; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent;
URL\u unknown\u SCHEME
错误,但通过添加和@override
我的代码如下所示:
package com.example.listarehtgps2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Window;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
WebView web;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
web = findViewById(R.id.webview);
WebSettings webSettings = web.getSettings();
webSettings.setJavaScriptEnabled(true);
web.loadUrl("webViewURL replaced for privacy reasons");
web.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// When user clicks a hyperlink, load in the existing WebView
if(url.contains("intent:")) {
Uri gmmIntentUri = Uri.parse(url);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
startActivity(mapIntent);
return true;
}
view.loadUrl(url);
return true;
}
}
);
}
}
我找不到在谷歌地图
应用程序中打开链接的任何解决方案。
我设法解决了未知的URL方案,但现在这令人沮丧
提前谢谢 URL\u unknown\u方案是因为它无法识别URI的方案部分(最多:),您的URI只是以“intent:”开头吗 要在某个位置打开地图,请尝试切换到geo方案,这样URI类似于“geo:0.01,0.01?q=London”(以及ofc和更改url.contains检查以查找该url)。如果您希望谷歌地图优先于用户可能安装的任何其他地图应用程序,您还可以在调用startActivity(mapIntent)之前插入mapIntent.setPackage(“com.google.android.apps.maps”) 如果您想要导航,请使用以google.navigation开头的URI,例如“google.navigation:London”或“google.navigation:0.01,0.01”,同样,对于街景,您可以使用以google.streetview开头的URI