{"id":273136,"date":"2016-01-28T17:53:03","date_gmt":"2016-01-28T14:53:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=273136"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=273136","title":{"rendered":"\u041f\u0438\u0448\u0435\u043c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043f\u043e\u0434 A\u043d\u0434\u0440\u043e\u0438\u0434"},"content":{"rendered":"<p>       \u0418\u0437\u0443\u0447\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434 \u0410\u043d\u0434\u0440\u043e\u0438\u0434 \u044f \u043d\u0430\u0447\u0430\u043b \u043d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a Eclips \u0432\u044b\u0434\u0430\u043b \u043c\u043e\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 Hello Word, \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e: \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u043c\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u043e\u0432 \u0438 \u0433\u0440\u0430\u043d\u0434\u0438\u043e\u0437\u043d\u044b\u0445 \u0438\u0434\u0435\u0439. \u041e\u0434\u043d\u043e\u0439 \u0442\u0430\u043a\u043e\u0439 \u0438\u0434\u0435\u0435\u0439 \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u0411\u0440\u0430\u0443\u0437\u0435\u0440\u0430. \u0414\u0443\u043c\u0430\u044e, \u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u043e \u0442\u0430\u043a\u043e\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435. \u0412\u043e\u0442 \u043a\u0430\u043a\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043c\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0438 \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0432 \u0438\u0442\u043e\u0433\u0435.<\/p>\n<ul>\n<li>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0430\u043c \u0432\u043f\u0435\u0440\u0451\u0434 \u0438 \u043d\u0430\u0437\u0430\u0434;<\/li>\n<li>\u0418\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0441\u0435\u0442\u044c;<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u0445;<\/li>\n<li>\u0418\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439;<\/li>\n<li>\u0414\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u043c\u0435\u043d\u044e \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u0438 \u0442.\u0434.<\/li>\n<\/ul>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c, \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438. \u0412\u043e\u043f\u043b\u043e\u0442\u0438\u043c \u044d\u0442\u043e \u0432 \u043a\u043e\u0434.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e webview, \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0432 Android. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u042f\u043d\u0434\u0435\u043a\u0441, \u044d\u0442\u043e \u0434\u0435\u043b\u043e \u0432\u043a\u0443\u0441\u0430. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e Activity \u0431\u0443\u0434\u0435\u0442 MainActivity.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0437\u0430\u0434\u0430\u0451\u043c \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 xml \u0444\u0430\u0439\u043b\u0430 -activity_main.xml. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c LinearLayout \u2014 \u0432 \u043d\u0435\u0433\u043e \u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c ProgressBar \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438. \u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 LinearLayout \u2014 \u0432 \u043d\u0435\u0433\u043e \u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043d\u0430\u0448 Webview \u0438 FrameLayout (\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u043b\u044f \u0440\u0430\u0441\u0442\u044f\u0433\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043e \u043d\u0430 \u0432\u0435\u0441\u044c \u044d\u043a\u0440\u0430\u043d).<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"xml\">LinearLayout xmlns:android=&quot;http:\/\/schemas.android.com\/apk\/res\/android&quot;              xmlns:tools=&quot;http:\/\/schemas.android.com\/tools&quot;              android:layout_width=&quot;match_parent&quot;              android:layout_height=&quot;match_parent&quot;              android:orientation=&quot;vertical&quot;              tools:context=&quot;.MainActivity&quot;&gt;                        &lt;ProgressBar         android:id=&quot;@+id\/progress1&quot;         android:layout_width=&quot;wrap_content&quot;         android:layout_height=&quot;wrap_content&quot;         android:layout_marginLeft=&quot;20dip&quot;         android:indeterminateDrawable=&quot;@drawable\/spinner_png&quot;         android:indeterminateOnly=&quot;true&quot;         android:layout_gravity=&quot;center_horizontal&quot;\/&gt;               &lt;LinearLayout          android:layout_width=&quot;fill_parent&quot;          android:layout_height=&quot;fill_parent&quot;          android:orientation=&quot;vertical&quot;&gt;          &lt;WebView             android:id=&quot;@+id\/web_view&quot;             android:layout_width=&quot;match_parent&quot;             android:layout_height=&quot;match_parent&quot; \/&gt;         &lt;FrameLayout             android:id=&quot;@+id\/fullscreen_container&quot;             android:layout_width=&quot;match_parent&quot;             android:layout_height=&quot;match_parent&quot;             android:background=&quot;@android:color\/black&quot;             android:visibility=&quot;gone&quot;\/&gt;                &lt;\/LinearLayout&gt;  &lt;\/LinearLayout&gt; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<h5>\u041d\u0430\u0447\u043d\u0451\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0432 MainActivity<\/h5>\n<p>  \u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 MainActivity.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"java\">import java.io.File;  import android.R.menu; import android.annotation.SuppressLint; import android.app.ActionBar; import android.app.Activity; import android.app.AlertDialog; import android.app.DownloadManager; import android.app.DownloadManager.Request; import android.app.KeyguardManager; import android.app.SearchManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.os.Parcelable; import android.os.PowerManager; import android.preference.PreferenceManager; import android.provider.MediaStore; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.WindowManager; import android.webkit.ConsoleMessage; import android.webkit.DownloadListener; import android.webkit.ValueCallback; import android.webkit.WebBackForwardList; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.FrameLayout; import android.widget.SearchView; import android.widget.Toast; import android.graphics.Bitmap; import android.webkit.URLUtil;  public class MainActivity extends Activity {   \t\/\/\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \t Boolean isInternetPresent = false; \t ConnectionDetector cd; \t \t     private WebChromeClient.CustomViewCallback mFullscreenViewCallback;     private FrameLayout mFullScreenContainer;     private View mFullScreenView;     private WebView mWebView;          String urload;          int cache = 1;          SharedPreferences sPref;          final Activity activity = this;     public Uri imageUri;      private static final int FILECHOOSER_RESULTCODE = 2888;     private ValueCallback&lt;Uri&gt; mUploadMessage;     private Uri mCapturedImageURI = null;        private DownloadManager downloadManager;                    @Override     protected  void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);                                                   \/\/\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043b\u0430\u0441\u0441\u0430 connection detector:         cd = new ConnectionDetector(getApplicationContext());                          \/\/ \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043a\u043d\u043e\u043f\u0443 home         final ActionBar actionBar = getActionBar();         actionBar.setHomeButtonEnabled(true);         actionBar.setDisplayHomeAsUpEnabled(true);                                    \/\/  \u043b\u043e\u0432\u0438\u043c intent \u0447\u0442\u043e \u0444\u0430\u0439\u043b \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438 \u043e\u043f\u043e\u0432\u0435\u0449\u0430\u0435\u043c         BroadcastReceiver receiver = new BroadcastReceiver() {             @Override             public void onReceive(Context context, Intent intent) {                 String action = intent.getAction();                 if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {                     loadEnd();                  }             }         };          \/\/  \u043b\u043e\u0432\u0438\u043c intent \u0447\u0442\u043e \u0444\u0430\u0439\u043b \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d         registerReceiver(receiver, new IntentFilter(                 DownloadManager.ACTION_DOWNLOAD_COMPLETE));                  mWebView = (WebView) findViewById(R.id.web_view);         mFullScreenContainer = (FrameLayout) findViewById(R.id.fullscreen_container);         mWebView.setWebChromeClient(mWebChromeClient);                mWebView.loadUrl(&quot;http:\/\/yandex.ru&quot;);                  handleIntent(getIntent());                  class HelloWebViewClient extends WebViewClient {         \t         \t @Override              public  void onPageStarted(WebView view, String url, Bitmap favicon) {                   super.onPageStarted(view, url, favicon);                  findViewById(R.id.progress1).setVisibility(View.VISIBLE);                  setTitle(url);                  urload=mWebView.getUrl();                  ConnectingToInternet ();              }               @Override              public boolean shouldOverrideUrlLoading(WebView view, String url) {                                     view.loadUrl(url);                                    \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043c\u0430\u0440\u043a\u0435\u0442                   Uri uri = Uri.parse(url);                    if (uri.getScheme().equals(&quot;market&quot;)) {                      Intent i = new Intent(android.content.Intent.ACTION_VIEW);                      i.setData(uri);                      i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                      startActivity(i);                       mWebView.canGoBack();                      {                          mWebView.goBack();                      }                  }                                \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c email                  if (uri.getScheme().equals(&quot;mailto&quot;)) {                      Intent i = new Intent(android.content.Intent.ACTION_SEND);                      i.setType(&quot;text\/html&quot;);                      i.putExtra(Intent.EXTRA_SUBJECT, &quot;\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043c\u0443&quot;);                      i.putExtra(Intent.EXTRA_TEXT, &quot;\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043a\u0441\u0442&quot;);                      i.putExtra(Intent.EXTRA_EMAIL, new String[]{url});                      startActivity(i);                      mWebView.canGoBack();                      {                          mWebView.goBack();                      }                  }                             \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0437\u0432\u043e\u043d\u0438\u043b\u043a\u0443                   if (uri.getScheme().equals(&quot;tel&quot;)) {                      Intent i = new Intent(android.content.Intent.ACTION_DIAL);                      i.setData(uri);                      startActivity(i);                       mWebView.canGoBack();                      {                          mWebView.goBack();                      }                  }                             \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043bo\u043a\u0446\u0438\u044e                   if (uri.getScheme().equals(&quot;geo&quot;)) {                      Intent i = new Intent(android.content.Intent.ACTION_VIEW);                      i.setData(uri);                      startActivity(i);                       mWebView.canGoBack();                      {                          mWebView.goBack();                      }                  }                                 return true;              }                                          @Override              public void onPageFinished(WebView view, String url) {                  findViewById(R.id.progress1).setVisibility(View.GONE);               }               @Override              public void onReceivedError(WebView view, int errorCode,                                          String description, String failingUrl) {              \t ConnectingToInternet ();                  mWebView.loadUrl(&quot;file:\/\/\/android_asset\/error.png&quot;);               }                     }         mWebView.setWebViewClient(new HelloWebViewClient());                         \/\/ \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e                  mWebView.setDownloadListener(new DownloadListener() {             @Override             public void onDownloadStart(  final String url, String userAgent, String contentDisposition,  String mimetype, long contentLength) {              \tfinal String fileName = URLUtil.guessFileName(url, contentDisposition, mimetype);             \t                 final AlertDialog.Builder downloadDialog = new AlertDialog.Builder(MainActivity.this);                  downloadDialog.setTitle(&quot;\u041c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a&quot;);                 downloadDialog.setMessage(&quot;\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0432 \u043f\u0430\u043f\u043a\u0443 Donwload ?&quot; + '\\n' + mimetype + '\\n' + url);                 downloadDialog.setPositiveButton(&quot;\u0414\u0430&quot;, new DialogInterface.OnClickListener() {                     public void onClick(DialogInterface dialogInterface, int i) {                       \tdoDownload( url, fileName);                           dialogInterface.dismiss();                     }                 });                 downloadDialog.setNegativeButton(&quot;\u041d\u0435\u0442&quot;, new DialogInterface.OnClickListener() {                     public void onClick(DialogInterface dialogInterface, int i) {                     }                 });                  downloadDialog.show();               }           });      }     \/\/ ****************************************     \/\/*****************************************     \/\/*****************************************          public void  ConnectingToInternet (){     \t          \/\/\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u0442\u0430\u0442\u0443\u0441 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f           isInternetPresent = cd.ConnectingToInternet();                    \/\/\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0441\u0442\u0430\u0442\u0443\u0441:           if (isInternetPresent) {           \/\/\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0435\u0441\u0442\u044c           \/\/\u0434\u0435\u043b\u0430\u0435\u043c HTTP \u0437\u0430\u043f\u0440\u043e\u0441\u044b:                     } else {           \/\/\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u0442           \tToast.makeText(this, &quot; \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043e\u0442\u0432\u0430\u043b\u0438\u043b\u0441\u044f !!!&quot;, Toast.LENGTH_SHORT).show();           }     \t     }                    @SuppressLint(&quot;SetJavaScriptEnabled&quot;) \t@Override           \/\/ \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438     public void onResume(){         super.onResume();         SharedPreferences sPref =                 PreferenceManager.getDefaultSharedPreferences(this);          if (sPref.getBoolean(&quot;img&quot;, false)) {                         mWebView.getSettings().setLoadsImagesAutomatically(false);         } else {                          mWebView.getSettings().setLoadsImagesAutomatically(true);         }                  if (sPref.getBoolean(&quot;js&quot;, false)) {                          mWebView.getSettings().setJavaScriptEnabled(false);         } else {                      \tmWebView.getSettings().setJavaScriptEnabled(true);         }          if (sPref.getBoolean(&quot;cache&quot;, false)) {             cache = 2;         } else {             cache = 1;         }      }     \/\/ \u043f\u0438\u0448\u0435\u043c \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0443          public void saveBm(String urlPage1, String urlTitle1) {          Intent intent = new Intent(this, SaveBmActivity.class);         intent.putExtra(&quot;urlTitle&quot;, urlTitle1);         intent.putExtra(&quot;urlPage&quot;, urlPage1);          startActivity(intent);     }               public void pref() {    \/\/  \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438         Intent intent = new Intent(this, PreferencesActivity.class);         startActivity(intent);     }          \/\/ \u0447\u0438\u0441\u0442\u0438\u043c \u043a\u044d\u0448 \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044e private void clCache(){ \tclearCache(activity);         mWebView.clearCache(true);                mWebView.clearHistory();          Toast.makeText(this, &quot;\u041a\u0435\u0448 \u0438 \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0447\u0438\u0449\u0435\u043d\u044b&quot;, Toast.LENGTH_SHORT).show();     }      @Override     protected void onUserLeaveHint() {         super.onUserLeaveHint();       }      @Override     public boolean onKeyDown(int keyCode, KeyEvent event) {\/\/ \u043a\u043d\u043e\u043f\u043a\u0430 \u043d\u0430\u0437\u0430\u0434         if ((keyCode == KeyEvent.KEYCODE_BACK)) {          \t mWebView.canGoBack();              {                  mWebView.goBack();              }                     return true;             }         return super.onKeyDown(keyCode, event);                     }          \/\/ \u043b\u043e\u0432\u0438\u043c url \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0432\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b          private boolean handleIntent(Intent intent) {                 String action = intent.getAction();          if (Intent.ACTION_VIEW.equals(action)) {              String url = intent.getDataString();             Toast.makeText(this, url, Toast.LENGTH_SHORT).show();              mWebView.loadUrl(url);\/\/ \u0433\u0440\u0443\u0437\u0438\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443              return true;         }           return false;     }          \/\/ \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438      private void doDownload(String url,String fileName) {         Uri uriOriginal = Uri.parse(url);          try {          \t \t\t\t \t\t\tToast.makeText(MainActivity.this, &quot;Downloading &quot; + fileName, Toast.LENGTH_LONG).show(); \t\t\t \t\t\tRequest request = new DownloadManager.Request(Uri.parse(url)); \t\t\trequest.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName); \t\t\t \t\t\tfinal DownloadManager dm = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); \t\t\tdm.enqueue(request);           } catch (Exception e) {              Toast.makeText(this, &quot;\u041e\u0448\u0438\u0431\u043a\u0430&quot;, Toast.LENGTH_SHORT).show();             Log.e(&quot;&quot;, &quot;Problem downloading: &quot; + uriOriginal, e);          }       }              \/\/ \u0442\u044f\u043d\u0435\u043c \u0432\u0438\u0434\u0435\u043e \u043d\u0430 \u0432\u0435\u0441\u044c \u044d\u043a\u0440\u0430\u043d     private final WebChromeClient mWebChromeClient = new WebChromeClient() {         @Override         @SuppressWarnings(&quot;deprecation&quot;)         public void onShowCustomView(View view, int requestedOrientation, CustomViewCallback callback) {             onShowCustomView(view, callback);         }          @Override         public void onShowCustomView(View view, CustomViewCallback callback) {             if (mFullScreenView != null) {                 callback.onCustomViewHidden();                 return;             }              mFullScreenView = view;             mWebView.setVisibility(View.GONE);              mFullScreenContainer.setVisibility(View.VISIBLE);             mFullScreenContainer.addView(view);             mFullscreenViewCallback = callback;                     }          @Override         public void onHideCustomView() {             super.onHideCustomView();             if (mFullScreenView == null) {                 return;             }             mWebView.setVisibility(View.VISIBLE);             mFullScreenView.setVisibility(View.GONE);             mFullScreenContainer.setVisibility(View.GONE);             mFullScreenContainer.removeView(mFullScreenView);             mFullscreenViewCallback.onCustomViewHidden();             mFullScreenView = null;         }          \/\/ ********************************************* \u0433\u0440\u0443\u0437\u0438\u043c \u0444\u0430\u0439\u043b\u044b \u0432 \u0441\u0435\u0442\u044c     \/\/ openFileChooser for Android 3.0+     public void openFileChooser(ValueCallback&lt;Uri&gt; uploadMsg, String acceptType) {          \/\/ \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438         mUploadMessage = uploadMsg;          try {              \/\/ \u0421\u043e\u0437\u0434\u0430\u0442\u044c AndroidExampleFolder \u0432 sdcard              File imageStorageDir = new File(                     Environment.getExternalStoragePublicDirectory(                             Environment.DIRECTORY_PICTURES)                     , &quot;AndroidExampleFolder&quot;);              if (!imageStorageDir.exists()) {                 \/\/ \u0421\u043e\u0437\u0434\u0430\u0442\u044c AndroidExampleFolder \u0432 sdcard                 imageStorageDir.mkdirs();             }              \/\/ \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u0430\u043c\u0435\u0440\u0443 \u0437\u0430\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u0438 \u0438\u043c\u044f             File file = new File(                     imageStorageDir + File.separator + &quot;IMG_&quot;                             + String.valueOf(System.currentTimeMillis())                             + &quot;.jpg&quot;);              mCapturedImageURI = Uri.fromFile(file);              \/\/ \u041a\u0430\u043c\u0435\u0440\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f  intent             final Intent captureIntent = new Intent(                     MediaStore.ACTION_IMAGE_CAPTURE);              captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);              Intent i = new Intent(Intent.ACTION_GET_CONTENT);             i.addCategory(Intent.CATEGORY_OPENABLE);             i.setType(&quot;image\/*&quot;);              \/\/ \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0441\u0435\u043b\u0435\u043a\u0442\u043e\u0440\u0430 intent             Intent chooserIntent = Intent.createChooser(i, &quot;Image Chooser&quot;);              \/\/ \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u0430\u043c\u0435\u0440\u044b \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0438\u0438 \u0432\u044b\u0431\u043e\u0440\u0430 \u0444\u0430\u0439\u043b\u043e\u0432             chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS                     , new Parcelable[]{captureIntent});              \/\/ \u041d\u0430 \u0432\u044b\u0431\u043e\u0440 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043e\u0431\u0445\u043e\u0434\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 onactivityresult \u0432\u044b\u0437\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438             startActivityForResult(chooserIntent, FILECHOOSER_RESULTCODE);          } catch (Exception e) {             Toast.makeText(getBaseContext(), &quot;Exception:&quot; + e,                     Toast.LENGTH_LONG).show();         }      }      \/\/ openFileChooser for Android &lt; 3.0     @SuppressWarnings(&quot;unused&quot;) \tpublic void openFileChooser(ValueCallback&lt;Uri&gt; uploadMsg) {         openFileChooser(uploadMsg, &quot;&quot;);     }      \/\/     @SuppressWarnings(&quot;unused&quot;) \tpublic void openFileChooser(ValueCallback&lt;Uri&gt; uploadMsg,                                 String acceptType,                                 String capture) {          openFileChooser(uploadMsg, acceptType);     }           public boolean onConsoleMessage(ConsoleMessage cm) {          onConsoleMessage(cm.message(), cm.lineNumber(), cm.sourceId());         return true;     }      public void onConsoleMessage(String message, int lineNumber, String sourceID) {         \/\/Log.d(&quot;androidruntime&quot;, &quot;Show console messages, Used for debugging: &quot; + message);      };      };\/\/ End setWebChromeClient      \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442   \t@SuppressWarnings(&quot;unused&quot;) \tprivate Object data;    @Override     protected void onActivityResult(int requestCode, int resultCode, Intent data)             { \t\tif (data == null) {             return;         } \t\tString urlPage2 = data.getStringExtra(&quot;urlPage2&quot;);         mWebView.loadUrl(urlPage2);          if (requestCode == FILECHOOSER_RESULTCODE) {              if (null == this.mUploadMessage) {                 return;              }              Uri result = null;              try {                 if (resultCode != RESULT_OK) {                      result = null;                  } else {                      \/\/ \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0438\u0437 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0435\u0441\u043b\u0438 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u043d\u0443\u043b\u044c                     result = data == null ? mCapturedImageURI : data.getData();                 }             } catch (Exception e) {                 Toast.makeText(getApplicationContext(), &quot;activity :&quot; + e,                         Toast.LENGTH_LONG).show();             }              mUploadMessage.onReceiveValue(result);             mUploadMessage = null;                                                             }      }     \/\/*****************************               public void loadEnd () {         Toast.makeText(this, &quot;\u0424\u0430\u0439\u043b \u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0432 \u043f\u0430\u043f\u043a\u0443 Donwload&quot;, Toast.LENGTH_SHORT).show();     }                    \/\/  \u043c\u0435\u043d\u044e      @Override     public boolean onCreateOptionsMenu(Menu menu) {         \/\/ Inflate the menu; this adds items to the action bar if it is present.         getMenuInflater().inflate(R.menu.main, menu);         return true;     }     \/\/ *******************************************************     @Override     public boolean onOptionsItemSelected(MenuItem item) {           switch (item.getItemId()) {                               case android.R.id.home:\/\/ \u043a\u043d\u043e\u043f\u043a\u0430 home                      mWebView.loadUrl(&quot;http:\/\/yandex.ru&quot;);                                       return true;             case R.id.item1:\/\/ \u043d\u0430\u0437\u0430\u0434                                     mWebView.canGoBack();                     {                         mWebView.goBack();                     }                                  return true;             case R.id.item2:                               \/\/ \u0432\u043f\u0435\u0440\u0451\u0434                     mWebView.canGoForward();                     {                          mWebView.goForward();                     }                                   return true;             case R.id.item3:                 \/\/ \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430                     mWebView.reload();                     {                         mWebView.reload();                     }                                                     return true;             case R.id.item4:\/\/ \u0447\u0438\u0441\u0442\u0438\u043c \u043a\u0435\u0448             \t mWebView.clearCache(true);             \t clearCache(activity);                                   Toast.makeText(this, &quot;\u041a\u044d\u0448 \u0447\u0438\u0441\u0442.&quot;, Toast.LENGTH_SHORT).show();                                 return true;             case R.id.item5:             \t mWebView.clearHistory();\/\/ \u0447\u0438\u0441\u0442\u0438\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u044e             \t                    Toast.makeText(this, &quot;\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0447\u0438\u0441\u0442\u0430.&quot;, Toast.LENGTH_SHORT).show();                 return true;             case R.id.item6:                             \tsaveBm(mWebView.getUrl(),  mWebView.getTitle());\/\/ \u043f\u0438\u0448\u0438\u043c \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0443                  return true;             case R.id.item7:\/\/ \u043f\u0430\u043d\u0435\u043b\u044c \u0437\u0430\u043a\u043b\u0430\u0434\u043e\u043a              \t Intent intent1 = new Intent(this, SaveBmActivity.class);                  startActivityForResult(intent1, 1);                  return true;             case R.id.item8:  \/\/ \u0441\u0442\u043e\u043f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430                                 mWebView.stopLoading();                   return true;             case R.id.item9:                             \tpref();\/\/ \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438                 return true;             case R.id.item10:             \t   \/\/ \u043f\u043e\u043a\u0430 \u043f\u0443\u0441\u0442\u043e                 return true;             case R.id.item11:\/\/ \u0432\u044b\u0445\u043e\u0434                              \t if (cache == 2) {                      clCache();                  }              \t finish();             \t                   return true;             default:                 return super.onOptionsItemSelected(item);         }     }     @SuppressWarnings(&quot;deprecation&quot;) \t@Override     public void onDestroy() {         super.onDestroy();         mWebView.stopLoading();         mWebView.clearCache(true);         mWebView.clearView();         mWebView.freeMemory();         mWebView.destroy();         mWebView = null;              }     \/\/ \u0447\u0438\u0441\u0442\u0438\u043c \u043a\u0435\u0448     void clearCache(Context context)     {         clearCacheFolder(context.getCacheDir());     }      void clearCacheFolder(final File dir)      {               if (dir!= null && dir.isDirectory())          {                      try              {                              for (File child:dir.listFiles())                  {                                      \/\/\u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e \u0447\u0438\u0441\u0442\u0438\u043c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438                                      if (child.isDirectory())                          clearCacheFolder(child);                     else \/\/\u043f\u043e\u0442\u043e\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0444\u0430\u0439\u043b\u044b                         child.delete();                  }                      }                      catch(Exception e)              {                                                 }              }          } }  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041f\u0440\u043e\u0435\u043a\u0442 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/yadi.sk\/d\/L0HP0y8YnsMXR\">\u043e\u0442\u0441\u044e\u0434\u0430<\/a>.       <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/276113\/\"> https:\/\/habrahabr.ru\/post\/276113\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       \u0418\u0437\u0443\u0447\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434 \u0410\u043d\u0434\u0440\u043e\u0438\u0434 \u044f \u043d\u0430\u0447\u0430\u043b \u043d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a Eclips \u0432\u044b\u0434\u0430\u043b \u043c\u043e\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 Hello Word, \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e: \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u043c\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u043e\u0432 \u0438 \u0433\u0440\u0430\u043d\u0434\u0438\u043e\u0437\u043d\u044b\u0445 \u0438\u0434\u0435\u0439. \u041e\u0434\u043d\u043e\u0439 \u0442\u0430\u043a\u043e\u0439 \u0438\u0434\u0435\u0435\u0439 \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u0411\u0440\u0430\u0443\u0437\u0435\u0440\u0430. \u0414\u0443\u043c\u0430\u044e, \u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u043e \u0442\u0430\u043a\u043e\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435. \u0412\u043e\u0442 \u043a\u0430\u043a\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043c\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0438 \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0432 \u0438\u0442\u043e\u0433\u0435.<\/p>\n<ul>\n<li>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0430\u043c \u0432\u043f\u0435\u0440\u0451\u0434 \u0438 \u043d\u0430\u0437\u0430\u0434;<\/li>\n<li>\u0418\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u0441\u0435\u0442\u044c;<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u0445;<\/li>\n<li>\u0418\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439;<\/li>\n<li>\u0414\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u043c\u0435\u043d\u044e \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u0438 \u0442.\u0434.<\/li>\n<\/ul>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c, \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438. \u0412\u043e\u043f\u043b\u043e\u0442\u0438\u043c \u044d\u0442\u043e \u0432 \u043a\u043e\u0434.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-273136","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/273136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=273136"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/273136\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=273136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=273136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=273136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}