【问题标题】:Android HttpURLConnection cannot redirect to "market://details?id=my.package.name"Android HttpURLConnection 无法重定向到“market://details?id=my.package.name”
【发布时间】:2011-02-06 14:30:24
【问题描述】:

我正在从我的 Android 设备启动一个指向我的服务器的 HttpURLConnection,即 http://example.com/download-app。服务器收到此请求并发出重定向到 ma​​rket://details?id=my.package.name。目的是让手机上的 Android Market 应用打开并导航到应用下载页面。

但是,这似乎不起作用。我在 HttpURLConnection 上将重定向设置为 true,即

HttpURLConnection.setFollowRedirects(true);

但我收到的 URL 始终与我的服务器的 URL 相同,即 http://example.com/download-app

如果我使用像 http://market.android.com/details?id=my.package.name 这样的“http”协议的重定向链接,它可以工作,但会打开新的基于网络的市场不是手机上的应用程序。

有其他人经历过吗?

【问题讨论】:

    标签: android google-play httpurlconnection


    【解决方案1】:

    如果您要直接进入市场,请使用市场网址。

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

    这应该会在手机上打开电子市场应用程序。

    【讨论】:

      【解决方案2】:

      目的是让手机上的 Android Market 应用程序打开并导航到应用程序下载页面。

      那你为什么用HttpUrlConnection

      如果您想查看网页,请使用ACTION_VIEW Intent

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

      【讨论】:

      • @user605333:Android 可以为您处理重定向。只需将您的原始 URL 交给 Intent
      • @CommonsWare:我需要向我的服务器提供某些参数,所以我一直在向 HttpHeader 中插入字段,这就是为什么我一直使用 HttpUrlConnection 来获取重定向链接,然后使用这个链接对于意图 URI。我不能简单地将“example.com/download-app”放入 URI,因为我需要这些参数来计算重定向链接。谢谢
      • 查看我的日志我可以看到它失败了,因为 Android 无法理解“市场”协议:02-06 15:33:36.977: WARN/App(2804): java.net.MalformedURLException: Unknown protocol: market
      • @user605333:您的评估不正确。 java.netmarket 一无所知。 Android,在ACTION_VIEW 的上下文中,知道market。我会核对标头并将数据放入GET 参数或作为路径的一部分,然后直接使用ACTION_VIEW 而无需HttpUrlConnection
      • @CommonsWare:在这种情况下,我会将它们添加为 Get 参数,看看是否能解决问题。在旁注中,我只是注意到如果我使用“market.android.com/details?id=my.package.name”它会更改为使用 https 而不是 http。知道这是为什么吗?目前浏览器打开时出现安全证书警告!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 2018-05-05
      • 1970-01-01
      • 2012-12-24
      • 2010-12-25
      相关资源
      最近更新 更多