有什么方法可以在磨损OS中为不同消息创建不同的振动?

时间:2019-07-11 14:15:33

标签: wear-os vibration

我想根据要发送的信息向手表发送不同的振动。我愿意使用通知或消息,但我想控制振动。

这是一个程序,因此受试者可以知道是正面反应(例如1次快速振动)还是负面反应(长时间振动或两次快速振动)。

可以做到吗?我本质上希望在应用程序中使用两个按钮将不同的振动通知发送给手表。

1 个答案:

答案 0 :(得分:0)

是的,有可能。只需使用指示您要触发的振动类型的ID标记您的消息或通知即可。在手表上,请确保检查ID并创建适当的振动模式。

在可穿戴代码中可能看起来像这样:

    print("53.- dateString: \(dateString)") //2019-07-11T23:45:47+0800
    // 1) Set TimeZone's seconds from GMT. Since I am in Mexico_City this will be: 60*60*5 (18000)

    let timZone = TimeZone(identifier: "America/Mexico_City")!


    let timezoneOffset =  timZone.secondsFromGMT()
    print(TimeZone.current)// Asia/Hong_Kong (current)
    print("57timezoneOffset: \(timezoneOffset)")

    // 2) Get the current date (GMT) in seconds since 1970. Epoch datetime.
    let epochDate = currentDate.timeIntervalSince1970
    print("60.- epochDate: \(epochDate)")

    let timezoneEpochOffset = (epochDate + Double(timezoneOffset))
    print("66.- timezoneEpochOffset: \(timezoneEpochOffset)") //1562859947.513479

    let timeZoneOffsetDate = Date(timeIntervalSince1970: timezoneEpochOffset)
    print("69.- timeZoneOffsetDate: \(timeZoneOffsetDate)") //2019-07-11 10:45:47 +0000

请记住在清单文件中声明振动许可:

// Get the ID from the message/notification

// Create the vibration pattern
long[] pattern;
if(id == POSITIVE) {
    pattern = new long[]{0, 200, 50, 200};
} else if(id == NEGATIVE) {
    pattern = new long[]{0, 50};
}

// Trigger the vibration
((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(pattern, -1);