2017-01-26 11 views
1

こんにちは私はたくさんの検索をしていますが、何か助けになるものは見つかりませんでした。Android webviewアプリケーションでフォームが読み込まれない

私は既存のウェブサイト用のアンドロイドアプリを作成しています。ウェブサイト自体は読み込まれますが、ユーザーがサインインできるメインフォームは読み込まれません。どのように起こるか誰にも分かりますか? ウェブサイトはhttps://app.one-2-ten.com/v2

p.s.私がアンドロイドアプリを作っているのは初めてのことです。

ProgressBar progressBar; 


WebView webView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    progressBar = (ProgressBar) findViewById(R.id.progressBar); 

    webView = (WebView) findViewById(R.id.webView); 

    if (savedInstanceState != null) { 
     webView.restoreState(savedInstanceState); 
    } 
    else{ 
     webView.getSettings() .setJavaScriptEnabled(true); 
     webView.getSettings() .setSupportZoom(false); 
     webView.getSettings() .setBuiltInZoomControls(false); 
     webView.getSettings() .setLoadWithOverviewMode(true); 
     webView.getSettings() .setUseWideViewPort(true); 
     webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
     webView.setWebViewClient(new ourViewClient()); 
     webView.Settings.AllowContentAccess = true; 

     webView.setWebChromeClient(new WebChromeClient(){ 
      public void onProgressChanged (WebView view, int progress){ 
       progressBar.setProgress(progress); 
       if(progress < 100 && progressBar.getVisibility() == ProgressBar.GONE){ 
        progressBar.setVisibility(ProgressBar.VISIBLE); 
       }if(progress == 100){ 
        progressBar.setVisibility(ProgressBar.GONE); 
       } 

       } 
      } 
     );} 

     String data = getIntent() .getDataString(); 

     if(Intent.ACTION_VIEW.equals(getIntent() .getAction())){ 
      webView.loadUrl(data); 
     }else{ 
      webView.loadUrl("https://one2ten-system.parseapp.com/v2"); 
     } 

    } 

public class ourViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView v, String url) { 
     if (url.contains("one2ten-system.parseapp.com/v2")) { 
      v.loadUrl(url); 
      CookieManager.getInstance().setAcceptCookie(true); 
     } else { 
      Uri uri = Uri.parse(url); 
      startActivity(Intent.createChooser(new Intent(Intent.ACTION_VIEW, uri), "Choose browser")); 
     } 
     return true; 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
    } 

} 

    @Override 
    public void onBackPressed() { 
     if(webView.canGoBack()) { 
      webView.goBack(); 
     } else { 
      super.onBackPressed(); 
     } 
    } 

    @Override 
public void onSaveInstanceState(Bundle outState){ 
    super.onSaveInstanceState(outState); 
    webView.saveState(outState); 
} 

}

+1

少なくともいくつかのAndroidコードが必要になります。どのようにフォームを 'WebView'に読み込みますか? – StuStirling

+0

webviewclient/webchromeclientを設定しましたか? WebViewでJSを有効にしましたか? –

+0

申し訳ありませんが、mainActivityファイルを追加しましたが、jsを有効にしました –

答えて

0

私は私の問題は何であったか見つけた、私は次の行を追加するのを忘れ:。webView.getSettings()setDomStorageEnabled(真の);

これにより、ブラウザからログインページにアクセスするために必要なフォームなどのユーザーデータを保存できます。

私の答えが不完全な場合は教えてください! ありがとう

関連する問題