Я встроил группу Google в свой веб-сайт, и она отображается там на рабочем столе и в мобильном браузере, но не отображается в Android WebView.
Группа Google, встроенная в веб-сайт: https://codingatharva.blogspot.com/p/httpdiscussion.html
Отображение на веб-сайте В браузере изображение здесь
Android Приложение (на вкладке «Обсуждение»): https://play.google.com/store/apps/details?id=com.blogspot.codingatharva.diplomaincomputersciecne
Не отображается в Android Изображение веб-просмотра здесь
Файл Java Обсудить. java :
package com.blogspot.codingatharva.diplomaincomputersciecne;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import androidx.annotation.NonNull;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;
import com.google.android.material.navigation.NavigationView;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import androidx.appcompat.widget.Toolbar;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
public class Discuss extends AppCompatActivity {
WebView webView;
DrawerLayout drawerLayout;
Toolbar toolbar;
NavigationView navigationView;
ActionBarDrawerToggle actionBarDrawerToggle;
ProgressBar bar;
private AdView adView;
private static final String TAG = "adview: ";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_discuss);
setUpToolbar();
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
MobileAds.initialize(this, getString(R.string.appid) );
adView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
adView.setAdListener(new AdListener(){
@Override
public void onAdFailedToLoad(int i) {
Log.d(TAG,"Ad failed to Load");
}
@Override
public void onAdClosed() {
Log.d(TAG,"Ad closed");
}
@Override
public void onAdClicked() {
Log.d(TAG,"Ad is Clicked");
}
@Override
public void onAdLoaded() {
Log.d(TAG,"Ad Loaded");
}
});
webView = (WebView) findViewById(R.id.wb);
bar = (ProgressBar) findViewById(R.id.progressBar);
webView.setWebViewClient(new myWebclient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("https://codingatharva.blogspot.com/p/httpdiscussion.html");
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setUseWideViewPort(true);
navigationView = findViewById(R.id.navigation_menu);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.nav_home:
Intent home = new Intent(Discuss.this, MainActivity.class);
startActivity(home);
break;
case R.id.nav_ther:
Intent therr = new Intent(Discuss.this, TheoryPart.class);
startActivity(therr);
break;
case R.id.nav_prog:
Intent progg = new Intent(Discuss.this, WebPage.class);
startActivity(progg);
break;
case R.id.nav_privacy:
Intent intent1 = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://privacypoliciesplay.blogspot.com/2018/09/privacy-policy-of-official-app.html"));
startActivity(intent1);
break;
case R.id.nav_contact:
Intent intent2 = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://codingatharva.blogspot.com/p/contact-us.html"));
startActivity(intent2);
break;
case R.id.nav_code:
Intent code = new Intent(Discuss.this, CodingArea.class);
startActivity(code);
break;
case R.id.nav_about:
Intent intent3 = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://codingatharva.blogspot.com/p/about-us.html"));
startActivity(intent3);
break;
case R.id.nav_text:
Intent speech = new Intent(Discuss.this, Text.class);
startActivity(speech);
break;
case R.id.nav_disc:
Intent disc = new Intent(Discuss.this,Discuss.class);
startActivity(disc);
break;
}
return false;
}
});
}
public class myWebclient extends WebViewClient {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
bar.setVisibility(View.GONE);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
bar.setVisibility(View.VISIBLE);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if ( Uri.parse(url).getHost().equals("codingatharva.blogspot.com") ) {
view.loadUrl(url);
bar.setVisibility(View.VISIBLE);
return super.shouldOverrideUrlLoading(view, url);
} else {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return false;
}
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
bar.setVisibility(View.VISIBLE);
return true;
}
return super.onKeyDown(keyCode, event);
}
private void setUpToolbar() {
drawerLayout = findViewById(R.id.drawerLayout);
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.CodingString, R.string.CodingString);
drawerLayout.addDrawerListener(actionBarDrawerToggle);
getSupportActionBar().setTitle("Discussion");
actionBarDrawerToggle.syncState();
}
}
Файл XML activity_discuss. xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".Discuss">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"></androidx.appcompat.widget.Toolbar>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/wb"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"></WebView>
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
app:adSize="BANNER"
app:adUnitId=""
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="0dp"></com.google.android.gms.ads.AdView>
</RelativeLayout>
</LinearLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/navigation_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/header"
app:menu="@menu/drawer_menu" />
</androidx.drawerlayout.widget.DrawerLayout>