Ich habe eine Handy-App heruntergeladen und versucht, eine Uhr für mein Android-Wear-Projekt zu implementieren. Ziel ist es, Temperaturinformationen vom Telefon an das Verschleißgerät zu übermitteln und das Zifferblatt zu aktualisieren.Android Wear onDataChanged heißt nicht
Ich habe versucht: 1. denselben Paketnamen 2. gleiche applicationId 3. gleichen Abhängigkeiten Versionen 4. gleichen Berechtigungen 5. auf meinem Handy Seite weiß ich sicher, dass meine Daten jedes Mal anders ist (so das Update muss passieren)
Ich benutze auch Daten, damit meine Daten synchronisiert werden müssen.
Ich führe meine App zuerst am Telefon aus, stelle sicher, dass sie korrekt läuft und dass sie Daten aktualisiert und an mein Verschleißgerät sendet. Dann starte ich mein Verschleißmodul und erhalte nichts, weil die onDataChanged-Methode nie aufgerufen wird.
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
Log.v("SunshineWatchFace", "onDataChanged");
try{
for(DataEvent dataEvent: dataEvents){
if(dataEvent.getType() != DataEvent.TYPE_CHANGED){
continue;
}
DataItem dataItem = dataEvent.getDataItem();
if(dataItem.getUri().getPath().compareTo("weather_update") == 0){
DataMap dataMap = DataMapItem.fromDataItem(dataItem).getDataMap();
minTemp = dataMap.getString("min-temp");
maxTemp = dataMap.getString("max-temp");
weatherImage = dataMap.getInt("weather-image");
Log.v("SunshineWatchFace", minTemp);
Log.v("SunshineWatchFace", maxTemp);
}
}
dataEvents.release();
if(!isInAmbientMode()){
invalidate();
}
}catch (Exception e){
Log.v("SunshineWatchFace",e.getMessage());
}
}
Wäre wirklich zu schätzen jede Hilfe
Ich habe viel Zeit damit verbracht, dieses Problem zu lösen.