我想通过在智能手表上做一些振动来确认我在智能手机上执行的操作(例如发送电子邮件时)。
在我的MainActivity中(发送电子邮件时)我有:
Intent serviceIntent = new Intent(this, HelloExtensionService.class);
serviceIntent.setAction(HelloExtensionService.INTENT_ACTION_SEND);
startService(serviceIntent);
我理解一个例子,我必须在扩展ExtensionService的类中覆盖onStartCommand:
@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);
}
但它不起作用。我想念或者我不明白的东西都有用。
答案 0 :(得分:0)
我想知道你想要做的是使用通知扩展而不是控件扩展。这将为您振动手表,并保持以前事件的快速记录。如果您需要此类扩展的示例,我会在Sony Add-On SDK中推荐HelloNotification Sample。否则,如果您使用Control扩展,则必须在SmartWatch上启动应用程序运行振动命令,然后停止应用程序。听起来这听起来对你有用吗?