Abir links no navegador
Pessoal sou novo com crianção de app android, este app e bastante simples utilizar webview.
Estou com um problema, queria abrir link externo que não seja do meu site no navegador do celular, meu código abrir todos os links externo no meu app.
exemplo quero que links externo sejam aberto no navegador e link como Youtube ou que utilizar algum app do celular seja aberto nesse app, segue meu codigo:
public class MainActivity extends AppCompatActivity {
private WebView cash;
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cash = findViewById(R.id.site);
cash.getSettings().setJavaScriptEnabled(true);
cash.setFocusable(true);
cash.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
cash.getSettings().setAppCacheEnabled(true);
cash.getSettings().setDomStorageEnabled(true);
cash.setWebViewClient(new WebViewClient());
cash.setWebChromeClient(new Meusite());
cash.loadUrl("https://www.meusite.com.br/meu_site/");
}
private class Meusite extends WebChromeClient {
private View mCustomView;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
protected FrameLayout mFullscreenContainer;
private int mOriginalOrientation;
private int mOriginalSystemUiVisibility;
Meusite() {}
public Bitmap getDefaultVideoPoster()
{
if (mCustomView == null) {
return null;
}
return BitmapFactory.decodeResource(getApplicationContext().getResources(), 2130837573);
}
public void onHideCustomView()
{
((FrameLayout)getWindow().getDecorView()).removeView(this.mCustomView);
this.mCustomView = null;
getWindow().getDecorView().setSystemUiVisibility(this.mOriginalSystemUiVisibility);
setRequestedOrientation(this.mOriginalOrientation);
this.mCustomViewCallback.onCustomViewHidden();
this.mCustomViewCallback = null;
}
public void onShowCustomView(View paramView, WebChromeClient.CustomViewCallback paramCustomViewCallback)
{
if (this.mCustomView != null)
{
onHideCustomView();
return;
}
this.mCustomView = paramView;
this.mOriginalSystemUiVisibility = getWindow().getDecorView().getSystemUiVisibility();
this.mOriginalOrientation = getRequestedOrientation();
this.mCustomViewCallback = paramCustomViewCallback;
((FrameLayout)getWindow().getDecorView()).addView(this.mCustomView, new FrameLayout.LayoutParams(-1, -1));
getWindow().getDecorView().setSystemUiVisibility(3846);
}
}
@Override
public void onBackPressed() {
if (cash.canGoBack()) {
cash.goBack();
} else {
super.onBackPressed();
}
}
}Discussão (0)
Carregando comentários...