이것은 내 코드이며, 복사하여 안드로이드 잠금 해제에 대한 다른 주제에서 붙여 넣습니다. 나는 왜 이것이 작동하지 않는지 모른다! :(android with FLAG_DISMISS_KEYGUARD 잠금 해제
목표는 다음과 같습니다 근접 센서, HI 장치 잠금 해제 자체 때
(더 많은 정보 : Using proximity sensor lock and unlock a home screen).
센서가 잘 작동하지만, 전화가 여전히 :(
잠겨내가 핀 잠금 등이없는, 내가 넥서스 여기 5.
private SensorManager mSensorManager;
private Sensor ProxymitySensor ;
private ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_unlock);
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
ProxymitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
mSensorManager.registerListener(this, ProxymitySensor,SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.unlock, menu);
return true;
}
@Override
public final void onSensorChanged(SensorEvent event) {
Object sensordata = event.values[0];
// Do something with this sensor data.
if (event.values[0] == event.sensor.getMaximumRange()){
PlaySound();
UnlockMe();
}
}
private void PlaySound() {
tg.startTone(ToneGenerator.TONE_PROP_BEEP);
}
private void UnlockMe(){
// try to unlock the phone
getWindow().addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
// nothing happen :(
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
// TODO Auto-generated method stub
}
에 전체 파일을 배포 : http://pastebin.com/CCv2W70Y
내가 그것을 내 손을 넣어 경우 내 폰은 내가 경고음과 anityng 말을하지 않습니다 :( LocgCat 아무것도 더 듣고, 잠겨 ...
어떤 생각?
https://code.google.com/p/android-developer-preview/issues/detail?id=1902 – JacksOnF1re