Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड WebView में बैक बटन कैसे इनेबल करें?

एंड्रॉइड WebView में बैक बटन सपोर्ट इनेबल करने का तरीका

यह उदाहरण दर्शाता है कि एंड्रॉइड WebView में बैक बटन कैसे इनेबल किया जाए ताकि यूजर वेब पेज हिस्ट्री में पीछे जा सके।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट फ़ाइल संशोधित करें

res/layout/activity_main.xml में निम्न कोड जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <WebView
        android:id="@+id/web_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

उपरोक्त कोड में हमने facebook.com दिखाने के लिए एक WebView लिया है।

चरण 3: MainActivity.java में कोड जोड़ें

src/MainActivity.java में निम्न कोड जोड़ें:

package com.example.myapplication;

import android.app.ProgressDialog;
import android.os.Build;
import android.os.Bundle;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    WebView web_view;

    @RequiresApi(api = Build.VERSION_CODES.P)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final ProgressDialog progressDialog = new ProgressDialog(this);
        progressDialog.setMessage("Loading Data...");
        progressDialog.setCancelable(false);

        web_view = findViewById(R.id.web_view);
        web_view.setVerticalScrollBarEnabled(true);
        web_view.requestFocus();
        web_view.getSettings().setDefaultTextEncodingName("utf-8");
        web_view.getSettings().setJavaScriptEnabled(true);
        web_view.loadUrl("https://touch.facebook.com/");

        web_view.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        web_view.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {
                if (progress < 100) {
                    progressDialog.show();
                }
                if (progress == 100) {
                    progressDialog.dismiss();
                }
            }
        });
    }

    @Override
    public void onBackPressed() {
        if (web_view != null && web_view.canGoBack()) {
            web_view.goBack(); // यदि पिछला पेज है तो उसे खोलें
        } else {
            super.onBackPressed(); // यदि कोई पिछला पेज नहीं है, तो ऐप बंद करें
        }
    }
}

चरण 4: AndroidManifest.xml में परमिशन जोड़ें

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

ऐप चलाएं

अपने वास्तविक एंड्रॉइड डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फ़ाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और देखें कि WebView में facebook.com लोड होगा। बैक बटन दबाने पर पिछला पेज खुलेगा या ऐप बंद होगा।

  1. Android ऐप में WebView कैसे बनाएं? Android ऐप में WebView कैसे बनाएं?

    यह उदाहरण दर्शाता है कि Android ऐप में WebView का उपयोग करके वेब पेज कैसे लोड किया जाए और बैक बटन हैंडलिंग कैसे की जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML में WebView जोड़ें res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <

  1. एंड्रॉइड में डायनामिकली बटन कैसे जोड़ें? एंड्रॉइड में डायनामिकली बटन कैसे जोड़ें?

    एंड्रॉइड में रनटाइम पर प्रोग्रामेटिकली बटन (या कोई व्यू) जोड़ना कभी-कभी लेआउट XML में नहीं, बल्कि डेटा/शर्तों के आधार पर रनटाइम पर व्यूज जोड़ने पड़ते हैं। इसके लिए: **पैरेंट व्यूग्रुप प्राप्त करें → नया व्यू बनाएं → LayoutParams सेट करें → addView() कॉल करें।** चरण 1: नया प्रोजेक्ट बनाएं Android St

  1. Android System WebView मास्टर करें: इनेबल/डिसेबल करने की स्टेप-बाय-स्टेप गाइड (2024 अपडेट) Android System WebView मास्टर करें: इनेबल/डिसेबल करने की स्टेप-बाय-स्टेप गाइड (2024 अपडेट)

    आपने अपने इनबिल्ट ऐप्स के अंदर वेब पेज एक्सेस किए होंगे। सर्फिंग करते समय जब आप Instagram में उस लिंक पर क्लिक करते हैं, तो यह आपको ऐप के भीतर एक वेब पेज पर निर्देशित करता है। वेब पेज तक पहुंच वैसी ही है जैसी हमें Chrome पर मिलती है। Android System WebView वह ऐप है जो इसे संभव बनाता है लेकिन हम शायद