2012-02-14 20 views
2

私は現在タイマープロジェクトに取り組んでいます。基本的に、それはむしろ単純です:ユーザーが時間を入力すると、時間がなくなり、ユーザーはフルスクリーン通知(テキストビューとサウンドによる単純なフルスクリーンアクティビティ)を取得します。この通知は、バックグラウンドサービスによって呼び出され、ユーザが何か他のことをしているときでさえ、それが呼び出されていることを保証します。Androidで安全でないキーガードをプログラムで無効にする

これで、画面がロックされるまですべてが完全に実行されます。私は何をしようとするとロックを解除することはできません。

は最後に、私は(と呼ばれている通知アクティビティ、内部の)次のフラグを設定:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.timer); 
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
     ... 

しかし、たとえそれで、キーガードは無効になりませんが、通知は表示されません。起こるのは画面がオンになることだけです。

ここに何か不足していますか?

P .:私はすでに、動作を停止したウェイクロックを使用して試しました。

答えて

1

あなたはあなたの答えを解決したいと思っていますが、状況に応じて、setContentView()メソッドの後にフラグを設定し、setFlags()メソッドを使用してみてください。

これは私が私のアプリでやっていることであり、動作します。

関連する問題