2011-02-06 8 views
1

私のサーバーを指しているAndroidデバイスからHttpURLConnectionを起動します。つまりhttp://example.com/download-app 。サーバーはこの要求を受け取り、market:// details?id = my.package.nameにリダイレクトします。その目的は、Androidマーケットアプリを開いてアプリのダウンロードページに移動することです。Android HttpURLConnectionは "market:// details?id = my.package.name"にリダイレクトできません

ただし、これは機能していないようです。私は、HttpURLConnectionのすなわち

HttpURLConnection.setFollowRedirects(true); 

にtrueにリダイレクトを設定するが、私は戻って受け取るURLは、常に私のサーバーに同じURLである、すなわちhttp://example.com/download-app

http://market.android.com/details?id=my.package.nameのような「http」プロトコルを使用してリダイレクトリンクを使用すると、新しいウェブベースのマーケットが開かれます電話のアプリではありません。

誰もこれを経験していますか?

答えて

0

Androidマーケットアプリを開いてアプリのダウンロードページに移動することを目指しています。

次に、なぜHttpUrlConnectionを使用していますか?

Webページを表示したい場合は、ACTION_VIEWIntentを使用します。

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://example.com/download-app"))); 
+0

@ user605333:Androidからリダイレクトを処理できます。 'Intent'の元のURLを渡してください。 – CommonsWare

+0

@CommonsWare:サーバーに特定のパラメータを指定する必要があるため、HttpHeaderにフィールドを挿入しています。このため、HttpUrlConnectionを使用してリダイレクトリンクを取得し、このリンクをインテントURIに使用しています。リダイレクトリンクを計算するためには、これらのパラメータが必要なので、単純にURIに「http://example.com/download-app」を入れても構いません。 ありがとう – user605333

+0

私のログを見ると、Androidが「マーケット」プロトコルを理解できないため、失敗していることがわかります。 02-06 15:33:36.977:WARN/App(2804):java.net.MalformedURLException: :market' – user605333

1

もしあなたが市場のURLを使用する市場に向けることならば。

final Intent marketIntent = new Intent(android.content.Intent.ACTION_VIEW, 
    Uri.parse(http://market.android.com/details?id=my.package.name)); 
startActivity(marketIntent); 

これは、電話でMarketアプリを開くはずです。

関連する問題