私のサーバーを指している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」プロトコルを使用してリダイレクトリンクを使用すると、新しいウェブベースのマーケットが開かれます電話のアプリではありません。
誰もこれを経験していますか?
@ user605333:Androidからリダイレクトを処理できます。 'Intent'の元のURLを渡してください。 – CommonsWare
@CommonsWare:サーバーに特定のパラメータを指定する必要があるため、HttpHeaderにフィールドを挿入しています。このため、HttpUrlConnectionを使用してリダイレクトリンクを取得し、このリンクをインテントURIに使用しています。リダイレクトリンクを計算するためには、これらのパラメータが必要なので、単純にURIに「http://example.com/download-app」を入れても構いません。 ありがとう – user605333
私のログを見ると、Androidが「マーケット」プロトコルを理解できないため、失敗していることがわかります。 02-06 15:33:36.977:WARN/App(2804):java.net.MalformedURLException: :market' – user605333