У меня есть простое приложение для просмотра веб-страниц, которое загружает мой веб-сайт. Все в порядке, но когда пользователь нажимает на значок Instagram в нижней части веб-страницы, я хочу открыть приложение Instagram вместо загрузки веб-страницы Instagram.
Я пытаюсь добиться этого с помощью функции shouldOverrideUrlLoading
и webview.geturl("https://www.instagram.com/")
.
Проблема в том, что когда пользователь нажимает на значок Instagram, URL-адрес не изменяется и остается по умолчанию "http://archclub.ir/".
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://archclub.ir/login");
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
url = webView.getUrl();
Toast.makeText(MainActivity.this, webView.getUrl(), Toast.LENGTH_SHORT).show();
if (url.contains("https://www.instagram.com/")) {
Toast.makeText(MainActivity.this, "salam", Toast.LENGTH_SHORT).show();
webView.loadUrl("http://archclub.ir/");
}
return false;
}
});
}}
Моя проблема: когда пользователь нажимает на значок Instagram на веб-сайте, Toast.makeText(MainActivity.this, "salam", Toast.LENGTH_SHORT).show();
не запускается.
Я проверял это. Я отладил это. Проблема в том, что при нажатии на значок Instagram, webview.geturl
равно archclub.ir/login и не меняется на instagram.com, но в веб-просмотре отображается страница Instagram.