我正在使用webView加載網頁的Android應用程序。我正在使用的網頁有一個登錄表單,我可以使用該表單登錄並執行我的操作。問題是當我關閉應用程序(退出它)並打開我要做的登錄應用程序時再次登錄。如何保存登錄信息,以便在打開我的應用程序時不必登錄?如何在WebView應用程序上保存登錄信息?
在關閉應用程序之前是否有任何方法可以保存所有信息?
我正在使用webView加載網頁的Android應用程序。我正在使用的網頁有一個登錄表單,我可以使用該表單登錄並執行我的操作。問題是當我關閉應用程序(退出它)並打開我要做的登錄應用程序時再次登錄。如何保存登錄信息,以便在打開我的應用程序時不必登錄?如何在WebView應用程序上保存登錄信息?
在關閉應用程序之前是否有任何方法可以保存所有信息?
您必須先在您的webview上註冊JavaScriptInterface。 JavaScriptInterFace可以是一個內部類,如下所示。這個類將有一個函數,你可以從html頁面調用(通過javaScript),在這個函數中你可以編寫代碼來改變活動。
這裏是你工作的解決方案:
public class JavascriptInterfaceActivity extends Activity {
/** Called when the activity is first created. */
WebView wv;
JavaScriptInterface JSInterface;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
wv = (WebView)findViewById(R.id.webView1);
wv.getSettings().setJavaScriptEnabled(true);
// register class containing methods to be exposed to JavaScript
JSInterface = new JavaScriptInterface(this);
wv.addJavascriptInterface(JSInterface, "JSInterface");
if(not_logged_in){
wv.loadUrl("file:///android_asset/myPage.html");
}
}
public class JavaScriptInterface {
Context mContext;
/** Instantiate the interface and set the context */
JavaScriptInterface(Context c) {
mContext = c;
}
@android.webkit.JavascriptInterface
public void login_success()
{
// save login success.
}
}
}
下面是HTML頁面
<html>
<head>
<script type="text/javascript">
function displaymessage()
{
JSInterface.login_success();
}
</script>
</head>
<body>
<form>
<input type="button" value="Click me!" onclick="displaymessage()" />
</form>
</body>
</html>
感謝您的幫助:) –
@ ShantanuPatil如果它是有用的..然後接受它作爲回答。 –
覆蓋的onPause和方法的onResume像這裏做https://stackoverflow.com/questions/32832845/ webview-is-not-restoring-the-state-after-was-killed-by-the-user –
謝謝它工作:) –