2011-07-11 13 views
5

Ben URL'ye götürür (basitlik için basitleştirilmiş) Aşağıdaki kod belirttiniz: iyi çalışıyor, ama CGI parametreleri Android'in URL çubuğunda gösterilir çünkü biraz çirkinAndroid, POST URL'sine niyet mi veriyor?

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); 
       } 
     } 
    }); 

web tarayıcısı (çeşitli çirkin oturum anahtarları, vb.). HTTP POST kullanarak aynı şeyi yapmanın bir yolu var mı?

+1

Böyle bir niyet alabilen çoğu uygulama bir gönderi yapamayacağından şüphem yok. –

+0

"Evet Can!" ... ama bir numara ile. Kontrol dışarı bu cevabı: http://stackoverflow.com/questions/4080517/launch-default-browser-with-intent-and-post-parameters#9909613 – Pascal

cevap

3

Bu tarayıcıda mümkün değildir, ancak bir WebView kullanılırsa mümkün olacaktır: Sonunda

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

Teşekkürler, ben çalışacağım. – Alistair

0

, ben HTTP GET kullanmaya devam ama bir çerez sonra tarayıcıyı yönlendirildi set oturum parametreleri olmadan 'temiz' URL.

+0

İsterseniz kendi cevabınızı kabul edebilirsiniz. – Flimm