我试图在getSpeed()返回大于20 m/s的值时使用systemLock()来锁定设备。黑莓手机 - systemLock()不工作
public void locationUpdated(LocationProvider provider, Location location)
{
if(location.isValid())
{
float speed = location.getSpeed();
// Information to be displayed on the device
StringBuffer sb = new StringBuffer();
sb.append("\n");
sb.append("Speed : ");
sb.append(speed);
sb.append(" m/s");
if(speed < 20){
appMan = ApplicationManager.getApplicationManager();
appMan.lockSystem(true);
}else{
}
MyApp.this.updateLocationScreen(sb.toString());
}
}
我有一个RichTextField,我可以成功地使用.settext()在if/else语句来改变RichTextField的文本,所以我必须使用lockSystem()是错误的。
编辑
if(speed > 20 || Double.isNaN(speed)){
requestForeground();
appMan = ApplicationManager.getApplicationManager();
appMan.lockSystem(true);
}else{
}
'lockSystem(true)'只有在设备上设置了密码时才有效。要阻止用户使用设备,推入全局屏幕要简单得多。 – adwiv