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

एंड्रॉइड में WebView सेफ ब्राउज़िंग कैसे इनेबल करें?

एंड्रॉइड WebView में सेफ ब्राउज़िंग इनेबल करना

यह उदाहरण दर्शाता है कि Google Safe Browsing API का उपयोग करके WebView को दुर्भावनापूर्ण साइट्स से कैसे बचाएं।

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

Android Studio में नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट फ़ाइल

<?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:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">

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

</LinearLayout>

चरण 3: MainActivity.java

package com.example.myapplication;

import android.app.ProgressDialog;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

    @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("लोड हो रहा है...");
        progressDialog.setCancelable(false);

        WebView webView = findViewById(R.id.web_view);
        webView.requestFocus();
        webView.getSettings().setLightTouchEnabled(true);
        
        // आवश्यक सेटिंग्स
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setGeolocationEnabled(true);
        webView.setSoundEffectsEnabled(true);
        webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
        webView.getSettings().setUseWideViewPort(true);
        
        // सेफ ब्राउज़िंग इनेबल करें (API 26+)
        webView.getSettings().setSafeBrowsingEnabled(true);
        
        // वेब स्टोरेज इनेबल करें
        webView.getSettings().setDomStorageEnabled(true);
        
        webView.loadUrl("https://www.tutorialspoint.com/");

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

चरण 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>

सेफ ब्राउज़िंग के बारे में

  • API 26 (Android 8.0) से उपलब्ध
  • Google की सेफ ब्राउज़िंग सूची के विरुद्ध URL चेक करता है
  • मैलवेयर, फिशिंग, अवांछित सॉफ़्टवेयर साइट्स को ब्लॉक करता है
  • चेतावनी पेज दिखाता है जब खतरनाक साइट डिटेक्ट होती है
  • डिफॉल्ट रूप से Android 8.0+ पर इनेबल होता है, लेकिन कोड से कंट्रोल कर सकते हैं

कस्टम सेफ ब्राउज़िंग (एडवांस्ड)

// कस्टम कॉलबैक के लिए (API 27+)
webView.setSafeBrowsingWhitelist(Arrays.asList("trusted-site.com"), new ValueCallback<Boolean>() {
    @Override
    public void onReceiveValue(Boolean success) {
        // व्हाइटलिस्ट सेट हो गई
    }
});

// खतरे की चेतावनी कस्टमाइज़ करने के लिए WebViewClient का उपयोग करें
webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onSafeBrowsingHit(WebView view, WebResourceRequest request, 
            int threatType, SafeBrowsingResponse callback) {
        // कस्टम चेतावनी UI दिखाएं
        callback.backToSafety(); // या callback.proceed() - सावधानी से उपयोग करें
    }
});

ऐप चलाएं

ट्यूटोरियलस्पॉइंट सुरक्षित साइट है, इसलिए सामान्य रूप से लोड होगी। असुरक्षित साइट पर चेतावनी दिखेगी।

एंड्रॉइड में WebView सेफ ब्राउज़िंग कैसे इनेबल करें?

  1. Android में URL एन्कोड कैसे करें? Android में URL एन्कोड कैसे करें?

    परिचय यह ट्यूटोरियल दिखाता है कि Android में URL एन्कोडिंग कैसे करें। स्पेशल कैरेक्टर्स (स्पेस, हिंदी टेक्स्ट, सिम्बल्स) को URL-सेफ फॉर्मेट में बदलने के लिए URLEncoder क्लास का उपयोग करते हैं। आवश्यक चरण चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project से नया प्रोजेक्ट बनाएं। चरण

  1. एंड्रॉइड में सेफ मोड कैसे ऑन करें एंड्रॉइड में सेफ मोड कैसे ऑन करें

    अपने एंड्रॉइड फोन या टैबलेट को सेफ मोड में बूट करना यह पता लगाने का एक उत्कृष्ट तरीका है कि आपके डिवाइस को क्या परेशान कर रहा है। Windows पर सेफ मोड की तरह, जब आप एंड्रॉइड पर सेफ मोड ऑन करते हैं, तो आपका डिवाइस न्यूनतम ऐप्स और फीचर्स के सेट के साथ शुरू होगा। इस संक्षिप्त गाइड में, हम आपको अपने एंड्र

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

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