Android Studio- Webview Projesi
Her şey tamam derken bir şey farkettim. Örneğin x,com sitesine girdiğimde orada ki tüm bağlantıları uygulama içinde açıyor ama ben sadece x,com domainine giden linkleri uygulama içinde değil, direk tarayıcıdan açmasını istiyorum.
Bunu nasıl yapabilirim ?
Amaç: asd,csd,xcxc,xasd .com gibi tüm siteler uygulamadan ama x,com'un harici açılması
Teşekkür ederim.
Çözüldü// Son yorumda kodları paylaştım
Android Studio - Webview | Belirli Linki Harici Açmak
4
●264
- 22-07-2020, 19:05:22
- 22-07-2020, 19:17:43awoken adlı üyeden alıntı: mesajı görüntüle
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener { private String link="site.com/?utm_source=mobil&utm_medium=uygulama"; private SwipeRefreshLayout sw; //swipe layout public WebView w; //web view private AdView mAdView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); sw=(SwipeRefreshLayout) findViewById(R.id.sw); w = (WebView) findViewById(R.id.w); sw.setOnRefreshListener(this); w.getSettings().setJavaScriptEnabled(true); w.setWebViewClient( new WebViewClient()); w.loadUrl(link); } @Override public void onRefresh() { w.reload(); sw.setRefreshing(false); }}
https://shrib.com/#RedBilledToucan8bBd0oq - 22-07-2020, 19:25:01Üyeliği durduruldu
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener { private String link = "site.com/?utm_source=mobil&utm_medium=uygulama"; private SwipeRefreshLayout sw; public WebView w; private AdView mAdView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); sw = (SwipeRefreshLayout) findViewById(R.id.sw); w = (WebView) findViewById(R.id.w); sw.setOnRefreshListener(this); w.getSettings().setJavaScriptEnabled(true); w.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { URI uri = new URI(request.getUrl()); String domain = uri.getHost(); if(domain == "x.com") { Intent intent = new Intent(Intent.ACTION_VIEW, request.getUrl()); view.getContext().startActivity(intent); } return true; } }); w.loadUrl(link); } @Override public void onRefresh() { w.reload(); sw.setRefreshing(false); } }Şu şekilde dener misiniz, gerekli kütüphaneli import edip tabi. - 22-07-2020, 19:34:29awoken adlı üyeden alıntı: mesajı görüntüle

Gerekli kütüphaneler ekli diye düşünüyorum.(Yukarıda)
Edit Çözüldü
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener { private String link = "site.com/?utm_source=mobil&utm_medium=uygulama"; private SwipeRefreshLayout sw; public WebView w; private AdView mAdView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); sw = (SwipeRefreshLayout) findViewById(R.id.sw); w = (WebView) findViewById(R.id.w); sw.setOnRefreshListener(this); w.getSettings().setJavaScriptEnabled(true); w.setWebChromeClient(new WebChromeClient()); w.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if(!(String.valueOf(request.getUrl())).contains("instagram.com")) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { view.loadUrl(String.valueOf(request.getUrl())); } } else { Intent intent = new Intent(Intent.ACTION_VIEW, request.getUrl()); view.getContext().startActivity(intent); } } return true; } @Override public void onPageFinished(WebView _param1, String _param2) { final String _url = _param2; super.onPageFinished(_param1, _param2); } }); w.loadUrl(link); } @Override public void onRefresh() { w.reload(); sw.setRefreshing(false); } }
