私はアラームアプリケーションを開発しています。主なアクティビティから、ブロードキャストを使用してアラームを設定しました。次に、ブロードキャストレシーバーの onReceive で、ユーザーがアラームをシャットダウンまたはスヌーズできるようにするアクティビティを呼び出します...そのアクティビティでは、onCreate の開始時に、次の行を使用して画面をオンにし、デバイスのロックを解除します。
final Window win = getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
これは、Android 2.3.4 を搭載した Samsung Galaxy S2 では完全に機能しますが、Android 2.3.5 を搭載した htc では機能しません。htcでは何もしません。ロックボタンを押すと、円をドラッグしなくても画面が自動的にロック解除されます。そのように、flag_dissmis_keygard は機能していますが、flag_turn_screen_on は機能していません。これを行うための別の方法または別の解決策はありますか?