【问题标题】:Not able to unlock screen in android无法在android中解锁屏幕
【发布时间】:2012-02-10 07:20:47
【问题描述】:

我可以使用设备策略管理器在 android 中锁定屏幕。即使用户在其他应用程序(Globaly)中,它也会锁定屏幕。我想对解锁做同样的事情。当用户在我的应用程序中锁定屏幕时,我的应用程序会解锁屏幕。但是当用户使用其他应用程序锁定屏幕时,它不是解锁屏幕。

我正在使用接近传感器来锁定/解锁屏幕并在 onPause 方法中注册 ProximitySensorEventListener 以进行解锁。它只会在我的应用程序中解锁屏幕。如何使用任何其他应用程序(Globaly)解锁屏幕?请帮我解决这个问题。

提前致谢。

【问题讨论】:

  • 您是否尝试在服务中注册此侦听器?

标签: android


【解决方案1】:

是的,您必须实现在后台运行的服务以及接近传感器输入,以便独立于前台应用程序使用它。以下代码显示了在后台运行的服务

public class PocketService extends Service implements SensorEventListener {

@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public void onCreate() {
    Toast.makeText(this, "My Service Created", Toast.LENGTH_SHORT).show();
    Log.d("TAG", "onCreate");

    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    mProximity = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);

    mSensorManager.registerListener(this, mProximity,
            SensorManager.SENSOR_DELAY_NORMAL);
}

@Override
public void onDestroy() {
    Toast.makeText(this, "My Service Stopped", Toast.LENGTH_SHORT).show();
    Log.d("TAG", "onDestroy");
    mSensorManager.unregisterListener(this);
}

@Override
public int onStartCommand(Intent intent, int flags, int startid) {
    Toast.makeText(this, "My Service Started", Toast.LENGTH_SHORT).show();  
    Log.d("TAG", "onStart");
    return START_STICKY;
}

public void onSensorChanged(SensorEvent event) {
    Sensor sensor = event.sensor;
    if (sensor.getType() == Sensor.TYPE_PROXIMITY) {
        distance = event.values[0];
        if (distance < 1) {
                enableScreenLock();
        } else {
                disableScreenLock();
        }
         }

}
public void onAccuracyChanged(Sensor arg0, int arg1) {
    // TODO Auto-generated method stub

}
}

你必须从一个活动开始,它会在你的后台运行,直到任务管理器由于内存不足而将其杀死。但它会在内存可用时尝试重新创建其实例,因为 onStartCommand() 方法返回 START_STICKY。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 2015-02-01
    相关资源
    最近更新 更多