PHP $ _SESSION没有在android webview中注册

时间:2018-06-13 15:12:24

标签: php android session android-webview

我们创建了一个将我们的网站作为webview的应用。在尝试登录我们的网站时,我们发现PHP $ _SESSION没有注册,而其他PHP变量工作正常($ _POST,$ _ GET)。我们在mainActivity java文件上启用了cookie,javascript,但仍无济于事。这是MainActivity Java文件。

package com.example.app;  

import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.webkit.WebSettings; 
import android.webkit.WebStorage; 
import android.webkit.CookieManager; 


public class MainActivity extends Activity{
    private ProgressBar progressBar;
    private WebView webView;
        @SuppressLint("SetJavaScriptEnabled") 
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);  
            progressBar = (ProgressBar) findViewById(R.id.progressBar);
            progressBar.setMax(100);
            webView = (WebView) findViewById(R.id.simpleWebView);
            webView.setWebViewClient(new WebViewClientDemo());
            webView.setWebChromeClient(new WebChromeClientDemo());
              WebSettings settings = webView.getSettings();
  settings.setJavaScriptEnabled(true);
  settings.setDomStorageEnabled(true); 
  settings.setDatabaseEnabled(true); 

CookieManager.getInstance();


            webView.loadUrl("https://ecitizen.in/");
        }
        private class WebViewClientDemo extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        progressBar.setVisibility(View.GONE);
        progressBar.setProgress(100);
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
        progressBar.setVisibility(View.VISIBLE);
        progressBar.setProgress(0);
        }       
    }
        private class WebChromeClientDemo extends WebChromeClient {
        public void onProgressChanged(WebView view, int progress) {
        progressBar.setProgress(progress);
        }
    }
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        else {
            finish();
        }
        return super.onKeyDown(keyCode, event);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       return true;
    }
}  

我错了。

1 个答案:

答案 0 :(得分:0)

正如@Abracadaver所写,PHP部分中缺少使session_start()工作所需的$_SESSION