0
Ich habe bereits versucht, viele Möglichkeiten, um dies zu lösen, aber nichts funktioniert.WearableListenerService ruft onDataChanged on Wear nicht auf
making-wearablelistenerservice-ondatachanged-call-on-every-putdatamaprequest
wearablelistenerservices-ondatachanged-not-called-on-phone
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);
Dienst
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();
}
}
Schauen Sie sich diese Frage SO [25141046] (http://stackoverflow.com/questions/25141046/wearablelistenerservice-ondatachanged-is-not-called?rq=1) und [34565918] (http: // Stackoverflow. com/questions/34565918/ondatachanged-isn% C2% B4t-called-on-android-tragen? rq = 1) wenn es Ihnen helfen kann. – KENdi
Danke! Die Antwort von Tom arbeitet http://stackoverflow.com/questions/25141046/wearablelistenerservice-ondatachedished-is-not-called?rq=1 –