我打算创建一个Android应用程序,它将有一些耗时的任务(例如,填写一个大表单)。 我不想在用户忙于做事或预约时打扰用户。 有没有办法确定用户何时不忙,并将通知延后至用户方便的时间?
答案 0 :(得分:1)
可能有一种方法是请求访问用户的日历,请参阅此处的示例:https://developer.android.com/training/permissions/requesting.html
在您的情况下,您将请求READ_CALENDAR的权限,这可能是在xml配置文件中或在您的代码中,如上所述。然后,如果用户在检查时有预定的约会,您可以使用此信息并选择不发送通知。
下面的代码段会检查您是否有权阅读用户日历:
// Assume thisActivity is the current activity
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.READ_CALENDAR);
答案 1 :(得分:0)
您可以将d.santos的建议与收听加速度计的读数结合起来。
例如,当用户在日历中没有任何事件且加速度计读数显示缺乏活动时,您要求用户填写表格
Here您可以找到如何使用SensorEventListener
监控加速度计的读数变化