Skip to content

Instantly share code, notes, and snippets.

@zsajjad
Last active March 10, 2020 12:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zsajjad/a6439c26f03eae2bcfce563fda28cea0 to your computer and use it in GitHub Desktop.
Save zsajjad/a6439c26f03eae2bcfce563fda28cea0 to your computer and use it in GitHub Desktop.
Peekaboo - Android WebView Sample
package fetchsky.androidsample;
import android.annotation.TargetApi;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import java.util.logging.Logger;
public class MainActivity extends AppCompatActivity {
private String peekabooURL = "https://*.peekaboo.guru"; // Replace * with your host
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
setContentView(webView);
webView.loadUrl(peekabooURL);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
webView.getSettings().setDatabasePath("/data/data/" + webView.getContext().getPackageName() + "/databases/");
}
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
if(request.getUrl().getHost().contains(peekabooURL)) { // Replace * with your host
view.loadUrl(request.getUrl().toString());
} else {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(request.getUrl().toString()));
startActivity(i);
}
return true;
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment