7

我试图构建一个应用程序来显示来自互联网的一些图片。

我使用了一个功能,它在我的手机(Galaxy S3 - Android 4.3)上运行良好,但在手表上我得到了一个java.io.EOFException例外。

代码(适用于手机):

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;

    public DownloadImageTask(ImageView bmImage) {
        this.bmImage = bmImage;
    }

    protected Bitmap doInBackground(String... urls) {
        String urldisplay = urls[0];
        Bitmap mIcon11 = null;
        try {
            InputStream in = new java.net.URL(urldisplay).openStream();
            mIcon11 = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            //Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return mIcon11;
    }

    protected void onPostExecute(Bitmap result) {
        bmImage.setImageBitmap(result);
    }
}

其他功能org.apache.http.NoHttpResponseException 手表已配对并在线,因为我可以使用语音命令和搜索网络等。

所以问题是:我可以直接从 Android Wear 访问网络,还是需要在我的手机上处理所有这些任务?还是我的设置有问题?

4

4 回答 4

9

Android Wear 设备无法直接访问互联网。如果您想访问网络,您应该使用您的配套应用程序。您可以使用数据层 API在可穿戴设备和手持设备之间来回传输数据。数据层 API 具有对传输资产(主要是图像,但基本上您传输任何其他二进制数据)的内置支持。

编辑:从 Android Wear 2.0 开始,可以使用常规网络 API 直接访问互联网。有关详细信息,请参阅Android Wear 2.0 开发者预览文档。Android Wear 2.0 尚未发布,请参阅开发者预览计划概述了解时间表。

于 2014-07-08T10:18:51.450 回答
2

即使 Android 5.1.1 支持 Wi-Fi 功能。

你应该坚持使用数据层 API,你不能直接从手表发送 http 请求。从手机中获取互联网数据,然后使用 Data Layer API 将其传输到手表。</p>

可以看到这个Android Wear 是否支持直接上网?

并且此文档始终在线和 Wi-Fi 以及最新的 Android Wear 更新

于 2015-07-07T06:22:49.640 回答
1

I have a very similar problem. My app connects to the internet using a middleware (ZeroC Ice), so I can not use the MessageApi or anything like that. My wear app was able to connect to the Internet while not connected to my phone.

My problem was that the WiFi is switched off when the phone is connected to my Wear device (in order to save battery). A simple solution is to disable this feature: go to Developer Options on your wear and disable Automatic Wi-Fi toggle. This will drain your battery faster, but you will have Internet connection everytime.

Credits: https://arcoresearchgroup.wordpress.com/2016/04/18/wear-keep-internet-even-when-connected/#more-1349

于 2016-04-18T13:41:47.987 回答
0

您可以使用MessageApi。我遵循了这个详细的示例,并且效果非常好。

于 2016-03-10T19:13:32.487 回答