2014-09-17 9 views
6

Czy jest możliwe uzyskanie poziomu naładowania podłączonych smartwatchów w ramach interfejsu Wear API? (Najlepiej bez konieczności instalowania rzeczywistego elementu zużywającego się na zegarze inteligentnym, a następnie komunikowania się z zegarem i urządzeniem w tył iw przód). Widziałem aplikacje zużywające się, które pokazują poziom naładowania zegarka na samym zegarku, ale chciałbym po prostu dowiedzieć się, jaki jest obecny poziom baterii zegarka przy użyciu telefonu.Uzyskaj poziom naładowania podłączonych smartwatchów

+0

Myślę, że musisz przejść przez api danych i mikro aplikacji. – rekire

Odpowiedz

1

You're more t Prawdopodobnie będzie potrzebować aplikacji do noszenia, ale powinno być bardzo łatwe.

Na temat noszenia, należy wykonać WearableListenerService. Poproś aplikację telefoniczną, aby wysłała wiadomość (używając Message APi). Spowoduje to uruchomienie urządzenia WearableListenerService na zegarku. Poproś zegarek, aby uzyskał informację o stanie baterii i wyślij go z powrotem do telefonu, używając innej wiadomości.

+0

Dzięki za odpowiedź, skończyło się na tej drodze i działa dobrze. Nie to, na co miałem nadzieję (ponieważ obciąża to noszenie, nawet jeśli jest to minimalne), ale działa :-)! – Nick

-2

Zacznij od określenia bieżącego stanu naładowania. BatteryManager transmituje wszystkie dane dotyczące ładowania i ładowania w lepkim celu, który obejmuje stan ładowania.

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); 
Intent batteryStatus = context.registerReceiver(null, ifilter); 

Można wyodrębnić obecny stan ładowania tędy

// Are we charging/charged? 
int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1); 
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || 
        status == BatteryManager.BATTERY_STATUS_FULL; 

można wykorzystać ten

public static final String EXTRA_LEVEL 
Added in API level 5 
Extra for ACTION_BATTERY_CHANGED: integer field containing the current battery level, from 0 to  EXTRA_SCALE. 

Constant Value: "level" 

można znaleźć aktualny stan naładowania akumulatora przez ekstrakcję bieżący poziom naładowania baterii i skali z blachy ość intencją statusu jak pokazano tutaj:

int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1); 

float batteryPct = level/(float)scale; // your % 

tak batteryPct jest twój% Akumulator Procent

// można pokazać swoją Procent następnie

Aby uzyskać więcej informacji na temat BatteryManager od here

+0

Cześć Nadir, dziękuję za szczegółową odpowiedź. Należy pamiętać, że pytanie dotyczyło sposobu uzyskania stanu baterii smartwatchów podłączonych do telefonu, a nie poziomu naładowania baterii telefonu. Twoja odpowiedź tylko pobiera poziom naładowania baterii telefonu. – Nick

Powiązane problemy