Здравствуйте! Дочке задали домашнее задание создать приложение из мобильного сайта. Приложение создано, но есть проблема - при нажатии назад, приложение закрывается, а нужно чтобы переходило на предыдущую страницу. Вот код:
Main Activity:
package ru.yandex;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.*;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* разворачиваем приложение на весь экран */
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
/* применяем наш лейаут к текущему экрану */
setContentView(R.layout.activity_main);
/* находим WebView элемент по его id */
WebView webView = (WebView) findViewById(R.id.WebView);
/* создаем новые настройки для нашего WebView элемента */
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowFileAccess(true);
webView.setWebViewClient(new MyClient());
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
/* здесь вы можете поместить URL вашего сайта */
webView.loadUrl("http://yandex.ru/");
}
}
class MyClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
/* откроем новую веб-страницу в webview */
view.loadUrl(url);
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
/*остановка загрузки и отображение страницы error.html из папки “assets”*/
view.stopLoading();
view.loadUrl(String.format("file:///android_asset/error.html?code=%s&description=%s&url=%s", Uri.encode(String.valueOf(errorCode)), Uri.encode(description), Uri.encode(failingUrl)));
}
}
Код манифеста:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ru.yandex" >
<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="ru.yandex.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>