Webviewにデータを投稿する必要があります。
いくつかのリンクから以下のコードを見つけました。
WebView webview = new WebView(this);
setContentView(webview);
String url = "http://www.example.com";
String postData = username=my_username&password=my_password";
webview.postUrl(url",EncodingUtils.getBytes(postData, "BASE64"));
しかし、私のAndroidスタジオでは、EncodingUtilsは非推奨として表示されます
EncodingUtilsがデータをAndroid WebView?
以下のようにしてみてください...
WebView webview = new WebView(this);
setContentView(webview);
String url = "http://www.example.com";
String postData = "username=" + URLEncoder.encode(my_username, "UTF-8") + "&password=" + URLEncoder.encode(my_password, "UTF-8");
webview.postUrl(url,postData.getBytes());
これは簡単な回避策です。
String html = "<!DOCTYPE html>" +
"<html>" +
"<body onload='document.frm1.submit()'>" +
"<form action='http://www.yoursite.com/postreceiver' method='post' name='frm1'>" +
" <input type='hidden' name='foo' value='12345'><br>" +
" <input type='hidden' name='bar' value='23456'><br>" +
"</form>" +
"</body>" +
"</html>";
webview.loadData(html, "text/html", "UTF-8");
私はこれが最良の方法ではないことを知っていますが、これはうまくいきます。
これを試してください:送信する前にパラメーター値をURLエンコードする必要があります。
String postData = "fileContents=" + URLEncoder.encode(fileCon, "UTF-8");