テキストメッセージを受信すると画面をウェイクアップするアプリを作成しました。画面をスリープ解除するための次のコードを思いつきました。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
boolean isScreenOn = pm.isScreenOn();
if(!isScreenOn ){
final PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My tag");
wl.acquire();
Toast.makeText(getBaseContext(), "This is WAKEUP SCREEN", Toast.LENGTH_SHORT).show();
Thread timer = new Thread(){
public void run(){
try {
sleep(5000);
} catch (InterruptedException e) {
// TODO: handle exception
}finally{
wl.release();
}
}
};
timer.start();
}
ここで問題となるのは、ステートメントをコメントアウトまたは削除するとToast.makeText(getBaseContext(), "This is WAKEUP SCREEN", Toast.LENGTH_SHORT).show();
、画面がウェイクアップしないことです。ここで何が問題なのかわかりません...そして私はandroid2.3を使用しています。