[英]WearableListenerService don't call onDataChanged on Wear
I already tryed many ways to solve this, but nothing works. 我已经尝试了多种方法来解决此问题,但是没有任何效果。
making-wearablelistenerservice-ondatachanged-call-on-every-putdatamaprequest 使可穿戴式监听器服务在数据上更改每次调用数据映射请求
wearablelistenerservices-ondatachanged-not-called-on-phone 可穿戴式监听器服务,数据更改,不叫电话
AndroidManifest.xml
AndroidManifest.xml
<service android:name="my.package.ListenerService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.google.android.gms.wearable.DATA_CHANGED" />
<action android:name="com.google.android.gms.wearable.MESSAGE_RECEIVED" />
<data
android:host="*"
android:pathPrefix="/prefix"
android:scheme="wear" />
</intent-filter>
</service>
MainActivity
主要活动
IntentFilter messageFilter = new IntentFilter(Intent.ACTION_SEND);
MobillsWearActivity.MessageReceiver messageReceiver = new MobillsWearActivity.MessageReceiver();
LocalBroadcastManager.getInstance(this).registerReceiver(messageReceiver, messageFilter);
Service
服务
public class ListenerService extends WearableListenerService {
private final String TAG_WEAR = "[on-wear]";
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
for (DataEvent event : dataEvents) {
// Check the data type
if (event.getType() == DataEvent.TYPE_CHANGED) {
DataMapItem dataItem = DataMapItem.fromDataItem (event.getDataItem());
String jsonString = dataItem.getDataMap().getString("listDespesas");
// Broadcast message to wearable activity for display
Intent messageIntent = new Intent();
messageIntent.setAction(Intent.ACTION_SEND);
messageIntent.putExtra("listDespesas", jsonString);
LocalBroadcastManager.getInstance(this).sendBroadcast(messageIntent);
Log.i(TAG_WEAR, "Recebido no wearable: "+jsonString);
}
}
}
@Override
public void onMessageReceived(MessageEvent messageEvent) {
Toast.makeText(this, "Received message", Toast.LENGTH_LONG).show();
}
}
The answer of Tom in this link works for me 汤姆在此链接中的答案对我有用
There are two things you can check: 您可以检查两件事:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.