주머니에있을 때가 아니라 내 손에 장치가있을 때만 장치의 움직임을 감지해야하는 작은 응용 프로그램을 만들고 있습니다.Android : SensorListener
지금 당장은 응용 프로그램을 만들었지 만 걷거나 실행할 때 센서 이벤트가 발생하고 주머니에 모바일이 있습니까?
누군가가 장치를 가지고있을 때만 변경된 센서를 불러도됩니까?
덕분에, 라 메쉬
주머니에있을 때가 아니라 내 손에 장치가있을 때만 장치의 움직임을 감지해야하는 작은 응용 프로그램을 만들고 있습니다.Android : SensorListener
지금 당장은 응용 프로그램을 만들었지 만 걷거나 실행할 때 센서 이벤트가 발생하고 주머니에 모바일이 있습니까?
누군가가 장치를 가지고있을 때만 변경된 센서를 불러도됩니까?
덕분에, 라 메쉬
당신은 첫 번째 검사에 대한 의도 ACTION_USER_PRESENT 전화를 사용하는 경우를 사용하거나 대기 모드에 있습니다. 그런 다음 Accelerometer을 구현하여 동작을 감지 할 수 있습니다. 이 같은 Manifest.xml을
public class SensorReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_USER_PRESENT)) {
// TODO notify the user is present
}
}
}
그리고 당신의 에 선언 : 당신의 ACTION_USER_PRESENT 검출
public class SensorsActivity extends Activity implements SensorEventListener {
private SensorManager sensorManager;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sensors);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensorManager.registerListener(this,
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_NORMAL);
}
public void onAccuracyChanged(Sensor sensor,int accuracy){
}
public void onSensorChanged(SensorEvent event){
// check sensor type
if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
// TODO after accelerometer detected do something here
}
}
}
당신이 BroadcastReceiver을 가진해야합니다
<receiver android:name=".SensorReceiver">
<intent-filter android:enabled="true" android:exported="false">
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
다음은 예입니다 희망이 도움이됩니다!
좋은 생각 ... 감사합니다 :) –
"누군가가 장치를 가지고있을 때만 센서가 변경되도록 호출 할 수 있습니까?" API에는 이와 같은 메소드가 없으며 확실하게 구분할 수 있을지 잘 모르겠습니다. 화면이 켜져있을 때만 움직임을 추적 할 수 있습니다 ... – Sam
포켓에 있는지 감지하기 위해 근접 센서 또는 광 센서로 작업 해보십시오. – bricklore