[英]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.