2011-07-11 18 views
5

私は、URLにユーザーを取る(簡単にするために簡略化)次のコードは、指定されている:うまく動作しますが、CGIパラメータはアンドロイドのURLバーに表示されているので、少し醜いですAndroidはPOST 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); 
       } 
     } 
    }); 

ウェブブラウザ(彼らは様々な醜いセッションキー、等)です。彼らは隠されているようにHTTP POSTを使用して同じを行う方法はありますか?

+1

このような意図を受け取ることができるほとんどのアプリは投稿を行うことができないため、私はそれを疑っています。 –

+0

「はい、私達はできます!」...しかし、トリックです。 この答えをチェックアウト: http://stackoverflow.com/questions/4080517/launch-default-browser-with-intent-and-post-parameters#9909613 – Pascal

答えて

3

それはブラウザで可能ではないですが、あなたはWebViewを使用した場合、それは可能でしょう:

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

おかげで、私はそれを試してみましょう。 – Alistair

0

最後に、私はその後にブラウザをリダイレクトHTTP GETを使用し続けたが、クッキーを設定しますセッションパラメータのない 'clean' URL。

+0

必要に応じて、あなた自身の回答を受け入れることができます。 – Flimm

関連する問題