Android WebView Webpage not available
অ্যান্ড্রয়েড ওয়েবভিউ ওয়েবপেজ উপলভ্য নয় – এখানে, আমি আপনাকে দেখাব কীভাবে ‘ইন্টারনেট সংযোগ নেই’ সতর্কতা বক্স পৃষ্ঠার পরিবর্তে ‘ওয়েবভিউ ওয়েবপেজ উপলব্ধ নেই’ পৃষ্ঠাটি ঠিক করবেন। বেশিরভাগ শিক্ষার্থী প্রোগ্রামাররা এখনও এই ত্রুটিটি ঠিক করার জন্য লড়াই করছে। প্রথমত, আমি এই সমস্যাটি ঠিক করার জন্য সংগ্রাম করছি কিন্তু আমি মাত্র 1 ঘন্টার মধ্যে এই ত্রুটিটি ঠিক করেছি। Link
আসলে এই খুব সহজ. আপনি সহজেই এই সমস্যাটি তৈরি করেছেন ওয়েবপেজের পরিবর্তে কোন ইন্টারনেট সংযোগ সতর্কতা বাক্সে উপলব্ধ নয়। পূর্বরূপ পোস্টে আমি WebView উদাহরণ ব্যাখ্যা করেছি।
এখানে, আমি ওয়েবপেজ না উপলভ্য পৃষ্ঠার পরিবর্তে মেক ইন্টারনেট সংযোগ সতর্কতা বক্সের সম্পূর্ণ কোড অন্তর্ভুক্ত করেছি। আসল কোড হল,
ViewActivity.Java
webView.setWebViewClient(new WebViewClient() { public void onReceivedError(WebView webView, int errorCode, String description, String failingUrl) { try { webView.stopLoading(); } catch (Exception e) { } if (webView.canGoBack()) { webView.goBack(); } webView.loadUrl("about:blank"); AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create(); alertDialog.setTitle("Error"); alertDialog.setMessage("Check your internet connection and try again."); alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Try Again", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); startActivity(getIntent()); } }); alertDialog.show(); super.onReceivedError(webView, errorCode, description, failingUrl); } });
আপনার যদি এই বিষয়ে কোন সন্দেহ থাকে তবে নীচে মন্তব্য করুন আমি আপনাকে সাহায্য করব। শুরুতে একটু কঠিন তাই আপনার আশা হারাবেন না। অ্যান্ড্রয়েড ভবিষ্যতের জন্য ভালো ডোমেইন। প্রতিটি কোম্পানি অ্যান্ড্রয়েড ডেভেলপারদের ভাড়া করে। Link
For that, First of all, I will take a Relative layout inside our LinearLayout. Inside relative layout, we will take an Imageview, a Texview and a Button.
Then Below “ImageView” will take a TextView. Inside that textview we will display our text like “No Internet Connection”. For that, we will take width, height, text alignment, text color, margin, id.
Activity of Your Choice
Step 01 Main.xml
<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/nointernet" > <ImageView android:layout_width="150dp" android:layout_height="150dp" android:id="@+id/netimg" android:layout_centerHorizontal="true" android:src="@drawable/nointernet" android:layout_marginTop="15dp"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/text" android:text="No internet connection" android:layout_below="@+id/netimg" android:textAlignment="center" android:textSize="25dp" android:layout_marginTop="10dp" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnRetry" android:layout_below="@id/text" android:layout_centerHorizontal="true" android:background="@color/black" android:text="retry" android:textSize="15dp" android:textColor="@android:color/white" android:layout_marginTop="25dp" /></RelativeLayout>
After that, We will take a button, the button text will “Retry” and will take id, height, margin and so on.
MainActivity.java”. First, we will declare a Relative layout called “relativeLayout” and a button called “NointernetBtn
Step 02 Main.Java
RelativeLayout relativeLayout; Button NointernetBtn;
এখন আমরা onCreate-এ আমাদের ফাংশনকে “internetcheck()” বলব। এর পরে, আপনি আপনার ওয়েবভিউ প্রকল্পটি চালাতে পারেন, আপনার মোবাইল ডেটা বন্ধ করুন এবং তারপরে আপনি দেখতে পাবেন যখন মোবাইল ডেটা বা ওয়াইফাই সংযুক্ত থাকে না তখন এটি ডিফল্ট ত্রুটি পৃষ্ঠার পরিবর্তে আমাদের নো ইন্টারনেট পৃষ্ঠাটি দেখাচ্ছে৷
internetcheck();
Step 03 Main.Java
//internet connection checkNointernetBtn = (Button) findViewById(R.id.btnRetry);relativeLayout = (RelativeLayout) findViewById(R.id.nointernet);public void internetcheck(){ConnectivityManager connectivityManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mobiledata = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);NetworkInfo wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);if(mobiledata.isConnected()){webView.setVisibility(View.VISIBLE);relativeLayout.setVisibility(View.GONE);webView.reload();}else if(wifi.isConnected()){webView.setVisibility(View.VISIBLE);relativeLayout.setVisibility(View.GONE);webView.reload();}else{webView.setVisibility(View.GONE);relativeLayout.setVisibility(View.VISIBLE);}}
Step 04 Main.Java
web.setWebViewClient(new WebViewClient(){ @Override public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { internetcheck(); super.onReceivedError(view, request, error); } });