1

我实际上正在开发一个用于近距离营销的 android 移动应用程序,我的应用程序应该从营销人员那里接收卡片和优惠券并显示收到的物品。

以下代码来自谷歌开发人员,它演示了使用消息侦听器来解析从 BLE 信标接收到的消息:

mMessageListener = new MessageListener() {
    @Override
    public void onFound(Message message) {
        // Do something with the message here.
        Log.i(TAG, "Message found: " + message);
        Log.i(TAG, "Message string: " + new String(message.getContent()));
        Log.i(TAG, "Message namespaced type: " + message.getNamespace() +
                "/" + message.getType());
    }

    ...
};

我的问题是:

在上面的代码中,解析的消息是一个字符串,所以我认为处理起来很简单,在我的情况下,我必须接收卡片和优惠券,所以图片..我该如何处理和解析收到的图片?

4

1 回答 1

1

带有 Nearby API 的信标附件限制为 1024 字节的任意数据,并且通常采用 Base64 编码以存储为字符串。虽然理论上您可以获取二进制图像,Base64 对其进行编码,并将它们存储为附件,但图像必须为 1024 字节或更小(不计算 Base64 编码开销)。底线:附件不能传输大图像。

一个典型的替代方法是将您的图像放在公共 URL 的 Web 服务器上,并将 URL 存储在附件中。然后,您在上述方法中编写代码onFound()以启动后台线程以使用 HTTP 客户端获取图像。一旦返回,您就可以显示图像。您可以在此处查看获取图像的示例。

当然,这需要网络访问才能正常工作,但 Nearby API 确实需要这样做,否则将无法从 Google 的云服务器获取附件。

于 2016-05-22T17:39:57.653 回答