我有以下代码(为简单起见简化了),它将用户带到指定的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);