From Rafa AM on 2015/12/22 10:34:11 +0000
Some devices that are not integrated with these app, like the Mi Band, can be paired with the phone and then vibrate when a notification from a certain app is received. If you could include the option that your app creates a notification when snoring is detected, those devices could, at least, be used to stop snoring. It will not be full integration with a wearable, but it will be better than nothing.
Copied from original feature request: http://urbandroid.uservoice.com/forums/264867-sleep-as-android/suggestions/11171775-snoring-notification-for-wearables
From RonnyBoy on 2017/03/31 09:51:31 +0000
Other same topic
Last message is from 2017, now it’s 2021 and the requested function is still not implemented
May I request it once again?
One addition though: Kill the notification after a minute pls. - its use is only to let the wearable vibrate. Otherwise the user has dozens of notifications in the morning.
(cross-posting from another thread bc. this one got 50 votes - the other one 1 vote)
Whilst I still do not understand such an easy feature hasn’t been added in 5 years:
For additional 3,49$ or 3,59€ there is a solution:
Buy and install tasker at the play store¹, then follow these instructions.
¹ a 7-day trial version is available to those willing and able to sideload an APK.
As Tasker isn’t too simple you might want to copy the code below into a file YourFileName.xml and import it as task into Tasker (long-press on the profiles tab to import).
This task reacts on the ‘snoring’ event by
1st: displaying a notification, waiting 5s, deleting the notification
2nd: waiting 3s (my wearable confused two messages immediately following each other as one)
3rd: displaying the very same notification again, waiting 5s, deleting the notification.
So you get two consecutive notifications (which results in my band vibrating 2x with ~8s in between) but do not have dozens notifications the next morning.
Do not forget to enable Tasker in SleepAsAndroid app!
HTH!
<TaskerData sr="" dvi="1" tv="5.13.5">
<Profile sr="prof5" ve="2">
<cdate>1630233699831</cdate>
<edate>1630244397342</edate>
<flags>8</flags>
<id>5</id>
<mid0>6</mid0>
<nme>anti-snoring</nme>
<Event sr="con0" ve="2">
<code>801067335</code>
<pri>0</pri>
<Bundle sr="arg0">
<Vals sr="val">
<com.twofortyfouram.locale.intent.extra.BLURB>Anti-Snoring</com.twofortyfouram.locale.intent.extra.BLURB>
<com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
<com.urbandroid.sleep.taskerplugin.extra.EVENT>com.urbandroid.sleep.ANTISNORING_ACTION</com.urbandroid.sleep.taskerplugin.extra.EVENT>
<com.urbandroid.sleep.taskerplugin.extra.EVENT-type>java.lang.String</com.urbandroid.sleep.taskerplugin.extra.EVENT-type>
<com.urbandroid.sleep.taskerplugin.extra.INT_VERSION_CODE>22471</com.urbandroid.sleep.taskerplugin.extra.INT_VERSION_CODE>
<com.urbandroid.sleep.taskerplugin.extra.INT_VERSION_CODE-type>java.lang.Integer</com.urbandroid.sleep.taskerplugin.extra.INT_VERSION_CODE-type>
<net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
<net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
</Vals>
</Bundle>
<Str sr="arg1" ve="3">com.urbandroid.sleep</Str>
<Str sr="arg2" ve="3">com.urbandroid.sleep.addon.taskerplugin.ui.EditEventActivity</Str>
<Int sr="arg3" val="1"/>
</Event>
</Profile>
<Task sr="task6">
<cdate>1630233716444</cdate>
<edate>1630244397342</edate>
<id>6</id>
<nme>Snoring-Notification</nme>
<pri>6</pri>
<Action sr="act0" ve="7">
<code>523</code>
<Str sr="arg0" ve="3">Snoring</Str>
<Str sr="arg1" ve="3">u snoring, dude!</Str>
<Str sr="arg10" ve="3"/>
<Str sr="arg11" ve="3"/>
<Img sr="arg2" ve="2"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Int sr="arg5" val="5"/>
<Int sr="arg6" val="1"/>
<Int sr="arg7" val="8"/>
<Int sr="arg8" val="0"/>
<Str sr="arg9" ve="3"/>
<ListElementItem sr="item0">
<label></label>
</ListElementItem>
</Action>
<Action sr="act1" ve="7">
<code>30</code>
<Int sr="arg0" val="0"/>
<Int sr="arg1" val="5"/>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act2" ve="7">
<code>779</code>
<Str sr="arg0" ve="3">Snoring</Str>
<Int sr="arg1" val="0"/>
</Action>
<Action sr="act3" ve="7">
<code>30</code>
<Int sr="arg0" val="0"/>
<Int sr="arg1" val="3"/>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act4" ve="7">
<code>523</code>
<Str sr="arg0" ve="3">Snoring</Str>
<Str sr="arg1" ve="3">u snoring, dude!</Str>
<Str sr="arg10" ve="3"/>
<Str sr="arg11" ve="3"/>
<Img sr="arg2" ve="2"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Int sr="arg5" val="5"/>
<Int sr="arg6" val="1"/>
<Int sr="arg7" val="8"/>
<Int sr="arg8" val="0"/>
<Str sr="arg9" ve="3"/>
<ListElementItem sr="item0">
<label></label>
</ListElementItem>
</Action>
<Action sr="act5" ve="7">
<code>30</code>
<Int sr="arg0" val="0"/>
<Int sr="arg1" val="5"/>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act6" ve="7">
<code>779</code>
<Str sr="arg0" ve="3">Snoring</Str>
<Int sr="arg1" val="0"/>
</Action>
</Task>
</TaskerData>