我正在開發一個Android應用程序,該應用程序每3秒就會識別用戶所做的活動(必須頻繁地進行設計)(例如靜態,行走,跑步)。我在我的數據庫中有一個活動表,用於增加下列值:如何在Android中使人類活動識別不太敏感
private int activeTime;
private int longestInactivityInterval;
private int currentInactivityInterval;
private int averageInactInterval;
這些以片段形式呈現。目前,它非常「敏感」。例如,如果用戶是靜態的(即躺在他們的牀上)並且他們將電話從口袋中拉出,則它將識別「走路」等活動。公認的活動歷史將如下所示:
static
static
walking
static
static
如何確保偶然「行走」識別活動被識別爲「靜態」。有什麼方法可以糾正這種情況嗎?
這是做活動監控(增量取決於價值觀被認爲是什麼活動類。
public class ActivityMonitor implements Observer, IActivityMonitor {
private User mUser;
private IActivityDataManager mDataManager;
public ActivityMonitor(IActivityDataManager dataManager) {
mDataManager = dataManager;
}
@Override
public void update(Observable observable, Object activity) {
monitorActivity(activity);
}
private void monitorActivity(Object activityClass) {
switch ((int) activityClass) {
case 0:
//activity = "walking";
case 1:
//activity = "running";
case 3:
//activity = "cycling";
mDataManager.incActiveTime();
mDataManager.clearCurrentInacInterval();
break;
case 2:
//activity = "static";
mDataManager.incCurrentInacInterval();
break;
}
}