#android #sony #sony-smartwatch
#Android #sony #sony-умные часы
Вопрос:
Я хотел бы подтвердить действие, которое я выполнил на своем смартфоне (например, при отправке электронного письма), выполнив некоторую вибрацию на своих умных часах.
В моей основной активности (при отправке электронной почты) У меня есть :
Intent serviceIntent = new Intent(this, HelloExtensionService.class);
serviceIntent.setAction(HelloExtensionService.INTENT_ACTION_SEND);
startService(serviceIntent);
Из примера я понял, что мне нужно переопределить onStartCommand в классе, который расширяет ExtensionService :
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Intent i = new Intent(Control.Intents.CONTROL_START_REQUEST_INTENT);
i.setPackage("com.example.hellosmartwatch");
sendBroadcast(i);
}
@Override
public ControlExtension createControlExtension(String hostAppPackageName) {
boolean advancedFeaturesSupported = DeviceInfoHelper.isSmartWatch2ApiAndScreenDetected(this, hostAppPackageName);
if (advancedFeaturesSupported) {
return new Vibrator(this,hostAppPackageName, new Handler());
} else {
return null;
}
}
Я знаю, что в моем случае я должен использовать ControlExtension Vibrator.class и поэтому я переопределяю метод OnStart () :
@Override
public void onStart() {
startVibrator(500, 300, 2);
}
Но это не работает. Чего мне не хватает или чего я не понимаю, так это того, что работает.
Ответ №1:
Интересно, не хотите ли вы использовать расширение notification вместо расширения control? Это позволит вам вибрировать часы, а также вести быстрый учет предыдущих событий. Я бы порекомендовал пример HelloNotification из дополнительного пакета SDK Sony, если вам нужен пример расширения такого типа. В противном случае, если вы используете расширение Control, вам придется запустить приложение на умных часах, выполнить команду вибрации, а затем остановить приложение. Звучит ли это так, как будто это может сработать для вас?