use*_*558 7 android android-sensors google-play-services
我正在尝试在项目中使用活动识别来检测用户何时是"车内".(驾驶)问题是几乎不可能使用它,因为大多数可行活动经常报告"车内"即使我一直坐在办公桌前很长一段时间,或者只是在我家里走来走去.知道API如何结束这将是非常好的.
我认为这个功能有很大的潜力,但是现在显然没有用.
这是每30秒拍摄一次MostProbableActivity的日志,以显示我的意思.坐在我的办公桌前,4分钟后我转了几次手机,这导致了"最具可驾驶性的车辆"结果.
我尝试过不同的手机,结果是一样的.所以我不认为它与硬件有关.
DetectedActivity [type=STILL, confidence=43]
DetectedActivity [type=STILL, confidence=54]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=69]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=92]
DetectedActivity [type=TILTING, confidence=100]
DetectedActivity [type=IN_VEHICLE, confidence=49]
DetectedActivity [type=TILTING, confidence=100]
DetectedActivity [type=STILL, confidence=51]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=85]
DetectedActivity [type=STILL, confidence=100]
DetectedActivity [type=STILL, confidence=66]
DetectedActivity [type=STILL, confidence=100]
Run Code Online (Sandbox Code Playgroud)
这是代码,没有什么特别之处:
public class ActivitiesIntentService extends IntentService {
private static final String TAG = "ActivitiesIntentService";
public ActivitiesIntentService() {
super(TAG);
}
@Override
protected void onHandleIntent(Intent intent) {
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
Intent i = new Intent(Constants.STRING_ACTION);
DetectedActivity mostProbableActivity = result.getMostProbableActivity();
i.putExtra("MOST_PROBABLE_ACTIVITY",mostProbableActivity);
LocalBroadcastManager.getInstance(this).sendBroadcast(i);
Log.e(TAG, String.valueOf(mostProbableActivity));
}
}
Run Code Online (Sandbox Code Playgroud)
从这个链接:
我可以看到其他人有类似的经历,但有些人声称它的工作正常.
我认为这是API置信度算法中的一个错误.应该很容易得出结论,手机没有向任何方向移动,也没有在道路上移动,所以显然不是车辆中的"最具可能性".
任何人都可以确认这个问题,还是以错误的方式使用它?
最好的祝福
托马斯
归档时间: |
|
查看次数: |
2094 次 |
最近记录: |