Here’s your fully updated and enhanced version of the Android MainActivity.java code for a WebView-based app, that:
Loads your login page (https://ommaurya.com/login.php)
Handles internal page navigation (welcome.php, view_lecture.php)
Detects logout.php and redirects user to login
Handles back navigation
Includes improvements for better user experience
✅ Final MainActivity.java Code:
package com.yourappname; // Replace with your actual package name
import android.os.Bundle;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings;
import android.webkit.CookieManager;
import android.webkit.WebChromeClient;
import android.os.Build;
import android.annotation.SuppressLint;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private WebView webView;
private final String LOGIN_URL = "https://ommaurya.com/login.php";
private final String LOGOUT_URL = "https://ommaurya.com/logout.php";
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webView);
// Enable JavaScript
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
// Enable cookies (important for session login)
CookieManager.getInstance().setAcceptCookie(true);
// Handle redirects and page changes
webView.setWebViewClient(new WebViewClient() {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
String url = request.getUrl().toString();
if (url.contains(LOGOUT_URL)) {
// If user hits logout, redirect to login page
webView.loadUrl(LOGIN_URL);
return true;
}
// Allow all other pages to load in WebView
return false;
}
// For older Android versions (optional but safe)
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains(LOGOUT_URL)) {
webView.loadUrl(LOGIN_URL);
return true;
}
return false;
}
});
// Optional: Add progress or alert support
webView.setWebChromeClient(new WebChromeClient());
// Load the login page
webView.loadUrl(LOGIN_URL);
}
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
}
📝 activity_main.xml Layout
Make sure this file is present in res/layout/activity_main.xml:
🛡️ AndroidManifest.xml
Ensure you have Internet permission in AndroidManifest.xml:
📝If you use HTTP (not HTTPS) in the future, you’ll need to set android:usesCleartextTraffic="true" — but you’re currently using HTTPS which is good and secure.
🚀 What This App Does
Loads your login.php page on launch
Lets user navigate to welcome.php, view_lecture.php, etc.
If the user logs out (reaches logout.php), they're redirected back to the login screen
Supports session cookies and back navigation