繁体   English   中英

onDataChanged代理怪异

[英]onDataChanged acting weird

我正在尝试使用我的wearOS应用程序来扩展我的Paint应用程序。 每当尝试添加新点时,我都尝试将Bitmap发送到Wear应用程序,但这导致了可怕的延迟。

我尝试序列化Path数组,但是随后很快注意到我可以通过点和函数传递三个不同的绘制功能(开始,移动,结束)。

这是我的onMove尝试:

public void sendPoint(Point p)
{
    long[] newPoint = new long[2];
    newPoint[0] = p.x;
    newPoint[1] = p.y;
    PutDataMapRequest dataMap = PutDataMapRequest.create("/count");
    dataMap.getDataMap().putLongArray("count", newPoint);
    PutDataRequest request = dataMap.asPutDataRequest();
    Task<DataItem> putTask = Wearable.getDataClient(this).putDataItem(request);
}

在介绍onStart和onEnd之前-我想指出以下确切的代码:

 public void sendPaint(Bitmap b)
    {
        Bitmap bitmap = b;
        Asset asset = createAssetFromBitmap(bitmap);
        PutDataMapRequest dataMap = PutDataMapRequest.create("/image");
        dataMap.getDataMap().putAsset("profileImageX", asset);
        PutDataRequest request = dataMap.asPutDataRequest();
        Task<DataItem> putTask = Wearable.getDataClient(this).putDataItem(request);
    }

我能够发送我的位图。

我说这很奇怪的原因是因为我所做的只是更改.putAsset

 dataMap.getDataMap().putAsset("profileImageX", asset);

到.putLongArray

  dataMap.getDataMap().putLongArray("count", newPoint);

有什么想法为什么这不起作用? 我注意到sendData仅在数据是新数据时才有效,也许这就是问题所在。 在那种情况下,我想知道如何在WearOS应用中接收并使用“数据”后将其删除。

android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"

为了在您的gradle内工作也需要

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "your.applicationid" // needs to be the same in both modules
        minSdkVersion 20
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        targetCompatibility = '1.7'
}

...

就像您所说的,我认为您需要一直放一些真正新的东西,例如System MillTimes

dataMap.getDataMap().putLong("Time",System.currentTimeMillis())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM