W tej chwili mam aplikację, która ładuje widok internetowy, a wszystkie kliknięcia są przechowywane w aplikacji. To, co chciałbym zrobić, to gdy kliknie się pewien link, na przykład http://www.google.com w aplikacji, otworzy domyślną przeglądarkę. Jeśli ktoś ma jakieś pomysły, daj mi znać!Łącze WebView kliknij domyślną przeglądarkę otwartą.
Odpowiedz
można użyć do tego Intent:
Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("your Url"));
startActivity(browserIntent);
powinieneś użyć Intent.ACTION_VIEW – rajh2504
musiałem zrobić to samo dzisiaj i znalazłem bardzo użytecznej odpowiedzi na StackOverflow, który chcę tu dzielić przypadek ktoś potrzebuje.
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null && (url.startsWith("http://") || url.startsWith("https://"))) {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
} else {
return false;
}
}
});
ta odpowiedź bardzo mi pomogła! Dzięki! –
Pamiętaj, że jeśli adres URL jest względny (nie zaczyna się od "http: //"), otworzy się w aplikacji. Aby tego uniknąć, zawsze zwracaj wartość true i rób odnośne linki URL, nic nie rób. –
+1 naprawdę doskonała odpowiedź. :) –
Można użyć Intent dla tego:
Uri uriUrl = Uri.parse("http://www.google.com/");
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
startActivity(launchBrowser);
WebView webview = (WebView) findViewById(R.id.webview);
webview.loadUrl(http://www.playbuzz.org);
nie trzeba włączyć ten kod // webview.setWebViewClient (nowy WebViewClient()); zamiast u należy skorzystać z poniższego
webview.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
String url2="http://www.playbuzz.org/";
// all links with in ur site will be open inside the webview
//links that start ur domain example(http://www.example.com/)
if (url != null && url.startsWith(url2)){
return false;
}
// all links that points outside the site will be open in a normal android browser
else {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
}
});
ten kod naprawdę pomaga mi w tym problemie – Cristiana214
kod D Wystarczy dodać następującą linię
yourWebViewName.setWebViewClient(new WebViewClient());
Sprawdź this do oficjalnej dokumentacji.
- 1. Selenium kliknij łącze
- 2. PhantomJS kliknij łącze na stronie
- 3. ANTS Profiler: Zmień domyślną przeglądarkę?
- 4. Kliknij łącze HTML w formancie WebBrowser
- 5. Łącze do przechwytywania UIWebView w iOS kliknij
- 6. wyłącza przeglądarkę mobilną kliknij/dotknij/dotknij pole opinii
- 7. Kliknij dwukrotnie element ListBox, aby otworzyć przeglądarkę.
- 8. Metoda zwracająca domyślną przeglądarkę jako ciąg?
- 9. Jak zmienić domyślną przeglądarkę platformy przeglądarki cordova?
- 10. Visual Studio 2010 ciągle zmienia domyślną przeglądarkę.
- 11. Jak otworzyć domyślną przeglądarkę w C#
- 12. Utwórz łącze z elektronu otwartego w przeglądarce
- 13. Jak naśladować domyślną przeglądarkę, aby pobrać pliki .apk ze strony internetowej?
- 14. Jak utworzyć linki w widoku strony lub otworzyć domyślną przeglądarkę w zależności od nazwy domeny?
- 15. Jak ustawić domyślną przeglądarkę w Windows 8 przy użyciu C#?
- 16. Jak ustawić przeglądarkę domyślną na Internet Explorer w R?
- 17. Jak otworzyć domyślną przeglądarkę z captive na Androidzie
- 18. Ustaw domyślną przeglądarkę internetową za pomocą wiersza poleceń?
- 19. Jak otworzyć domyślną przeglądarkę systemową z aplikacji java fx?
- 20. Jak wywołać funkcję JavaScript z JavaFX WebView na przycisku kliknij?
- 21. webChromeClient otwiera łącze w przeglądarce
- 22. Jak otworzyć przeglądarkę w telefonie Blackberry?
- 23. Android: Otwórz przeglądarkę z dostarczonym ciasteczkiem sesji
- 24. Otwórz rodzimą przeglądarkę z aplikacji na Androida
- 25. Facebook JS podłączyć nieobsługiwaną przeglądarkę
- 26. Kliknij przycisk Kliknij w UICollectionView
- 27. Kliknij środkowy przycisk kliknij wydarzenie
- 28. jak uzyskać aktualną otwartą aplikację użytkownika?
- 29. Android Geofence działa tylko z otwartą aplikacją
- 30. Jak znaleźć otwartą ramkę odczytu w Pythonie
Wielkie dzięki. To pytanie zaoszczędziło wiele czasu. – 5511002233