How can I open Android browser with specified POST parameters? How can I open Android browser with specified POST parameters? android android

How can I open Android browser with specified POST parameters?


Use a webview:

WebView webview = new WebView(this);setContentView(webview);byte[] post = EncodingUtils.getBytes("postvariable=value&nextvar=value2", "BASE64");webview.postUrl("http://www.geenie.nl/AnHeli/mobile/ranking/demo/index.php", post);


Intents sent to the browser can contain more than just a URL. In older versions of android it was possible to package extra POST data in the intent, in newer versions that capability is gone but one can send extra header data for a GET (which can be just about anything representable as a string) in the intent delivered to the browser.


try{        String finalUrl = "javascript:" +                "var to = 'http://the_link_you_want_to_open';" +                "var p = {param1:'"+your_param+"',param2:'"+your_param+"'};" +                "var myForm = document.createElement('form');" +                "myForm.method='post' ;" +                "myForm.action = to;" +                "for (var k in p) {" +                "var myInput = document.createElement('input') ;" +                "myInput.setAttribute('type', 'text');" +                "myInput.setAttribute('name', k) ;" +                "myInput.setAttribute('value', p[k]);" +                "myForm.appendChild(myInput) ;" +                "}" +                "document.body.appendChild(myForm) ;" +                "myForm.submit() ;" +                "document.body.removeChild(myForm) ;";        Uri uriUrl = Uri.parse(finalUrl);        Intent browserIntent = new Intent(Intent.ACTION_VIEW);        PackageManager packageManager = this.getPackageManager();        browserIntent.setData(uriUrl);        List<ResolveInfo> list = packageManager.queryIntentActivities(browserIntent, 0);        for (ResolveInfo resolveInfo : list) {            String activityName = resolveInfo.activityInfo.name;            if (activityName.contains("BrowserActivity")) {                browserIntent =                        packageManager.getLaunchIntentForPackage(resolveInfo.activityInfo.packageName);                ComponentName comp =                        new ComponentName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name);                browserIntent.setAction(Intent.ACTION_VIEW);                browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);                browserIntent.setComponent(comp);                browserIntent.setData(uriUrl);            }        }        this.startActivity(browserIntent);    }catch (Exception e){        e.printStackTrace();        txtHeader.setText(e.toString());    }