我有以下代码(为简单起见简化了),它将用户带到指定的URL:

    Button b = (Button) findViewById( R.id.button );
    b.setOnClickListener( new OnClickListener() {
        public void onClick( View v ) {
                Intent i = new Intent( Intent.ACTION_VIEW );
                i.setData( Uri.parse( "http://example.com/myform/?a=b&c=d&e=f" ) );
                if (i.resolveActivity(getPackageManager()) != null) {
                            startActivity( i );
                }
        }
    } );

效果很好,但是有点丑陋,因为CGI参数显示在Android网络浏览器的网址栏中(它们是各种丑陋的 session key 等)。有没有一种方法可以使用HTTP POST进行相同的处理,以便将它们隐藏起来?

最佳答案

在浏览器中是不可能的,但是如果您使用WebView,则有可能:

byte[] post = EncodingUtils.getBytes("a=b&c=d&e=f", "BASE64");
webview.postUrl("http://example.com/myform/", post);

10-07 19:15
查看更多