【问题标题】:Location link sent via SMS is working in Android browser but not on iPhone browser通过 SMS 发送的位置链接在 Android 浏览器中有效,但在 iPhone 浏览器中无效
【发布时间】:2014-09-16 17:53:31
【问题描述】:

我正在开发一个可以通过 SMS 发送用户当前位置的 Android 应用。

为了发送短信,我使用以下代码:

String phoneNumber = "123456" //example
            SmsManager smsManager = SmsManager.getDefault();
            StringBuilder smsBody = new StringBuilder();
            smsBody.append("This is my location:\n");
String uri = "http://maps.google.com/?q=loc:" + location.getLatitude()
                + "+" + location.getLongitude();
            smsBody.append(uri);
            smsManager.sendTextMessage(phoneNumber, null, smsBody.toString(),
                    null, null);

现在,当我将它发送到 Android 设备时,我会收到一条带有链接的短信,它可以在本地浏览器和 Google Chrome 中完美打开。

但是,如果我将它发送到 iPhone 设备 - 使用本机浏览器 (Safari) - 它会给我一个错误,它无法打开地址,因为它不正确,但如果我使用 Chrome 打开它(也在 iPhone 上) - 完美运行。

有人知道为什么会这样吗?有什么解决方法吗?

这是收到的 SMS 消息的精确副本:

这是我的位置: http://maps.google.com/?q=loc:32.05688742112759+34.899831548802496

非常感谢!

编辑:

这是我在运行 iOS7 的 iPhone 4 上尝试打开链接时遇到的错误的屏幕截图

【问题讨论】:

  • 你试过用https代替http吗?

标签: android ios iphone google-chrome sms


【解决方案1】:

这是因为 iOS 支持它的原生地图。您的查询网址仅适用于谷歌地图。 你可以试试这个 url for iOS: "http://maps.apple.com/?q=loc:32.05688742112759+34.899831548802496"

【讨论】:

  • 好吧,看到它在浏览器中打开,它应该支持它,而且显然 iPhone 5 确实支持它(见下面的答案)。您有任何来源或链接来支持您的答案吗?谢谢!
  • 嗯,它说你可以使用那种链接形式,而不是必须的。但是,根据你的回答,我也找到了这个答案here。当我按照您所说的方式使用链接时,它确实适用于 Android 和 iOS。感谢您帮助解决我的问题!
【解决方案2】:

IOS不支持短信定位

【讨论】:

  • 您能否提供有关此事实的官方或可信链接?非常感谢
  • 嗯,这是一个普通的 http - 它应该在 Safari 中打开
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-08
  • 1970-01-01
  • 2019-03-20
  • 1970-01-01
  • 1970-01-01
  • 2015-08-25
  • 1970-01-01
相关资源
最近更新 更多