在我的WebView android中,我希望用户以按钮点击或任何其他方式注销。 点击该按钮后,我不想显示任何网页。该应用程序应该自动退出(System.exit(0)将执行此操作)
点击我要发送的是:
http://192.100.1.1:10000/app?service=direct/1/UserSummary/$UserBorder.logoutLink
最好的方法是什么?
答案 0 :(得分:0)
使用Rest来调用此URL。
使其使用异步任务:
查看示例here。
在你的背景中做:
protected String doInBackground(String... urls) {
String url = urls[0];
HttpClient httpclient = new DefaultHttpClient(getHttpParams());
HttpResponse response = null;
try {
switch (taskType) {
HttpGet httpget = new HttpGet(url);
response = httpclient.execute(httpget);
} catch (Exception e) {
Log.e(TAG, e.getLocalizedMessage(), e);
}
return response;
}
private HttpParams getHttpParams() {
HttpParams htpp = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(htpp, CONN_TIMEOUT);
HttpConnectionParams.setSoTimeout(htpp, SOCKET_TIMEOUT);
return htpp;
}
答案 1 :(得分:0)
这个问题背后的主要原因是这个注销链接无法显示。所以我想要点击退出。主要活动中的简单Android按钮对此没有帮助。
所以,我创建了新的blank activity
,使用了我正在使用的相同布局,但是我没有显示空白布局,而是添加了ProcessDialog
并使其不可取消,如下所示:
final ProgressDialog pd = new ProgressDialog(Logout.this);
pd.setCancelable(false);
pd.setCanceledOnTouchOutside(false);
pd.setMessage("Please wait...");
pd.show();
在public void onPageFinished(WebView view, String url)
方法中,我解雇了这个ProcessDialog,并为我的应用程序的登录页面启动了一个意图。同时覆盖public boolean shouldOverrideUrlLoading(WebView view, String url)
以防止其退出应用。
之后,只需webView.loadUrl(url);
。
这样我解决了我的问题。 (如果你知道更好更简单的方法,请发帖。)