하나의 활동에서 Google Maps API V2를 사용 중이며 가속도계가있는 두 번째 활동이있는 Android 애플리케이션이 있습니다. 나는이 두 가지 활동을 각각의 버튼을 사용하여 전환하려고합니다. 나는 가속도계를 사용하여 사용자가 운전 중일 때 제동을 감지하고지도에 마커를 배치하려고합니다.동일한 애플리케이션의 다른 활동에서 활동 값 가져 오기
가속도계 활동을 시작한 다음 내지도 활동으로 전환하면 가속도계가 지속적으로 값을 onSensorChanged에서 계속 가져 오므로 활동이 정상적으로 종료되지 않습니다. 웬일인지지도 활동에 대한 값을 얻을 수있는 것처럼 보이지는 않지만 0.0.0 0.0 또는 null을 null로 사용하고 있습니다. 누군가 내가 이것을 할 수있는 방법을 말해 줄 수 있습니까?
UPDATE
가속도계 코드의주요 부분 :
@Override
public void onSensorChanged(SensorEvent e) {
// TODO Auto-generated method stub
// alpha is calculated as t/(t + dT)
// with t, the low-pass filter's time-constant
// and dT, the event delivery rate
if (e.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
// - + +
gravity[0] = alpha * gravity[0] + (1 - alpha) * e.values[0];
gravity[1] = alpha * gravity[1] + (1 - alpha) * e.values[1];
gravity[2] = alpha * gravity[2] + (1 - alpha) * e.values[2];
acceleration[0] = e.values[0] - gravity[0];
acceleration[1] = e.values[1] - gravity[1];
acceleration[2] = e.values[2] - gravity[2];{
txtX.setText(""+Math.round((acceleration[0] * 100.0)/100.0));
txtY.setText(""+Math.round((acceleration[1] * 100.0)/100.0));
txtZ.setText(""+Math.round((acceleration[2] * 100.0)/100.0));
}
가 나는 등의 마커를 배치 할 수 있도록지도 활동의 onLocationChanged 청취자의 가속도 값을 좀하고 싶습니다 곧 감속이 감지됩니다.
저는 배터리 소모에 특히 관심이 없습니다. 상업용 앱이 아니며 개인적인 용도로만 사용하기 때문입니다. 한 활동에서 다른 활동으로 가치를 얻는 간단한 방법이 필요합니다. 일부 의도를 사용하여 시도했지만 내가 말한대로 null 값 또는 0.0s 중 하나를 얻고있었습니다. 가속도계 활동은 일부 TextField의 값과 공의 애니메이션이 표시되는 속한보기가 있기 때문에 활동 상태를 유지해야합니다. 별도의 가속도계 서비스를 만들어야합니까? 나는 쉬운 방법이 있어야만하는 것처럼 느껴진다. ... –
백그라운드로 갔을 때 당신의 활동을 계속 유지하도록 Android를 강요 할 수 없다. 가속도계 활동의 목적은 무엇입니까? 필요한 것은 제동 순간을 감지하고 제동이 시작되었을 때 현재 위치를 기록하는 것입니다. startActivityForResult (android.content.Intent, int) 및 setResult (int, android.content.Intent)를 사용할 수 있습니다. 어쩌면 코드를 보여 주면 더 좋을 것입니다. – petlack
추가 할 코드 부분을 잘 모르는 경우 : /. 저도 활동 인정서를 가지고 있고 다른 많은 것들이 있기 때문에 꽤 큽니다. 우선 startActivityForResult를 살펴볼 것입니다. 정말 좋은 단서가 될 것 같네요. 타이 :). setResult의 기능은 무엇입니까? 내가하는 일에 대한 더 좋은 생각을주기 위해 사용자가 진행할 때 onLocationChanged 수신기에서 Accelerometer 값을 확인하려고했습니다. 이렇게하면 빠른 감속이 감지 되 자마자 마커를 배치 할 수 있습니다. –