open external links from local resources in browser
This commit is contained in:
parent
e3868a45cb
commit
4ceebd34d3
@ -8,24 +8,23 @@ This is a template project for Android Studio that allows you to create an andro
|
|||||||
|
|
||||||
If you want to create an app that displays the content of a remote website
|
If you want to create an app that displays the content of a remote website
|
||||||
|
|
||||||
1. uncomment lines **25** and **26** in `MainActivity.java` and replace `http://example.com` with your remote source
|
1. uncomment line **24** in `MainActivity.java` and replace `http://example.com` with your remote source
|
||||||
|
|
||||||
```java
|
```java
|
||||||
mWebView.loadUrl("https://example.com");
|
mWebView.loadUrl("https://example.com");
|
||||||
mWebView.setWebViewClient(new MyWebViewClient());
|
|
||||||
```
|
```
|
||||||
|
|
||||||
2. open the `MyWebViewClient.java` file and replace `example.com` on line **14** with your custom hostname
|
2. open the `MyWebViewClient.java` file and replace `example.com` on line **13** with your custom hostname
|
||||||
|
|
||||||
```java
|
```java
|
||||||
if (Objects.requireNonNull(Uri.parse(url).getHost()).endsWith(".example.com")) {
|
if (url.startsWith("file:") || uri.getHost() != null && uri.getHost().endsWith("example.com")) {
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using a local source
|
### Using a local source
|
||||||
|
|
||||||
If you want to create a local HTML5 android app
|
If you want to create a local HTML5 android app
|
||||||
|
|
||||||
1. uncomment line **29** in `MainActivity.java`
|
1. uncomment line **27** in `MainActivity.java`
|
||||||
|
|
||||||
```java
|
```java
|
||||||
mWebView.loadUrl("file:///android_asset/index.html");
|
mWebView.loadUrl("file:///android_asset/index.html");
|
||||||
|
@ -5,7 +5,6 @@ import android.app.Activity;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.webkit.WebSettings;
|
import android.webkit.WebSettings;
|
||||||
import android.webkit.WebView;
|
import android.webkit.WebView;
|
||||||
import android.webkit.WebViewClient;
|
|
||||||
|
|
||||||
public class MainActivity extends Activity {
|
public class MainActivity extends Activity {
|
||||||
|
|
||||||
@ -17,13 +16,12 @@ public class MainActivity extends Activity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
mWebView = findViewById(R.id.activity_main_webview);
|
mWebView = findViewById(R.id.activity_main_webview);
|
||||||
mWebView.setWebViewClient(new WebViewClient());
|
|
||||||
WebSettings webSettings = mWebView.getSettings();
|
WebSettings webSettings = mWebView.getSettings();
|
||||||
webSettings.setJavaScriptEnabled(true);
|
webSettings.setJavaScriptEnabled(true);
|
||||||
|
mWebView.setWebViewClient(new MyWebViewClient());
|
||||||
|
|
||||||
// REMOTE RESOURCE
|
// REMOTE RESOURCE
|
||||||
// mWebView.loadUrl("https://example.com");
|
// mWebView.loadUrl("https://example.com");
|
||||||
// mWebView.setWebViewClient(new MyWebViewClient());
|
|
||||||
|
|
||||||
// LOCAL RESOURCE
|
// LOCAL RESOURCE
|
||||||
// mWebView.loadUrl("file:///android_asset/index.html");
|
// mWebView.loadUrl("file:///android_asset/index.html");
|
||||||
|
@ -5,16 +5,14 @@ import android.net.Uri;
|
|||||||
import android.webkit.WebView;
|
import android.webkit.WebView;
|
||||||
import android.webkit.WebViewClient;
|
import android.webkit.WebViewClient;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
class MyWebViewClient extends WebViewClient {
|
class MyWebViewClient extends WebViewClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||||
Uri uri = Uri.parse(url);
|
Uri uri = Uri.parse(url);
|
||||||
if (uri.getHost() != null && uri.getHost().endsWith(".example.com")) {
|
if (url.startsWith("file:") || uri.getHost() != null && uri.getHost().endsWith("example.com")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
|
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
|
||||||
view.getContext().startActivity(intent);
|
view.getContext().startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user