2014-10-28 2 views
0

Google Play 서비스에서 운전 상태를 어떻게 인식하는지 알고 싶습니다. 나는 모든 위치 공급자를 비활성화하고 위치 인식을 중지해도 활동 인식 서비스가 운전 상태임을 계속 인식 할 수 있습니다.Google Play 서비스에서 운전을 어떻게 인식합니까?

Nexus 3을 사용하고 있으며 Jelly Bean 버전에서 이해하고있는 장치에서만 지원하며 Google에서는 하드웨어 지오 펜싱 (Hardware Geofencing)이라는 것을 사용하고 있습니다. 누군가가 나를 올바른 방향으로 가리키거나 그들이 어떻게하는지 설명 할 수 있습니까?

감사합니다.

답변

0

Google Play 서비스에는 사용할 수있는 것이 몇 가지 있습니다. com.google.android.gms.permission.ACTIVITY_RECOGNITION

당신의 활동을 모니터링하는 방송 수신기가 :

ActivityRecognitionResult, DetectedActivityActivityRecognitionClient

권한 사용을 참조하십시오. 당신은 현재 상태에 대한 수신기를 확인 할 때마다 :

//Returns enum value, one of: IN_VEHICLE, ON_BICYCLE, ON_FOOT, STILL, UNKNOWN... 
DetectedActivity activity = activityRecognitionResult.getMostProbableActivity(); 

//Returns the confidence level that the activity.getType() is accurate 
int confidence = activity.getConfidence(); 

//TODO -- Determine if the confidence meets or exceeds a threshold for taking action 

업데이트

높은 수준의 설명은 여기에 구글의 문서를 참조하십시오 :

https://developer.android.com/reference/com/google/android/gms/location/ActivityRecognitionClient.html :

The activities are detected by periodically waking up the device and reading short bursts of sensor data. It only makes use of low power sensors in order to keep the power usage to a minimum.

여기 추측하지만, 나는 거기에 각 유형의 활동을 프로파일 링하기위한 고딕체. 예를 들어 주머니 속의 휴대 전화 동작은 걷기 (저주파, 고 영향도)가 자전거를 타는 경우 (고주파, 저소음, 고도 변화)와는 많이 다릅니다.

알고리즘이 GPS 속도를 고려하면 확실히 80mph로 걷지는 않습니다. 운전 중일 때는 휴대 전화의 '흔들림'/ 자이로 스코프 움직임이 거의 없을 수 있지만 표시되는 높은 G- 힘 (가속도계)이있을 수 있습니다.

Google은 이러한 알고리즘이 오픈 소스가 아니라고 생각합니다. Google에 좋은 경쟁 우위를 제공하는 것처럼 보입니다.

+0

감사합니다.하지만 제 질문은 Google Play 서비스 사용 방법이 아닌 활동 인식 (특히 운전)의 알고리즘이 무엇인지 알고 계신 것입니다. – MikeL

+0

나는 akodiakson이 귀하의 코멘트 후에 그의 업데이트에서 이것을 추가했다고 생각합니다. 그러나 "이 알고리즘은 오픈 소스가 아닙니다"라는 말이 맞습니다. Google Play 서비스를 사용하는 모든 것은 "Google Experience"의 일부이며 오픈 소스 Android 코드의 일부는 아닙니다. – deive

관련 문제