2016-07-10 5 views
0

ユーザが起動した後(ACTION_BOOT_COMPLETED)、デバイスがスリープ状態になった後(ACTION_SCREEN_OFF)に「BroadcastReceiver」を起動するサービスがあります。私の "BroadcastReceiver"は着信コールが受信されたとき(TelephonyManager.CALL_STATE_RINGING)をチェックし、コールを記録する "サービス"を起動します。それは機能していますが、問題は、私の耳に電話をかけたときに私のデバイスが通話中にディスプレイを切るので、サービスが再び "BroadcastReceiver"を起動することです。それを解決する方法を知っている人はいますか?電話中にAndroidの画面が自動的に表示されないようにする

public class MyService extends Service { 

private BroadcastReceiver mReceiver; 

@Override 
public void onCreate() { 
    IntentFilter filter = new IntentFilter(Intent.ACTION_BOOT_COMPLETED); 
    filter.addAction(Intent.ACTION_SCREEN_OFF); 

    mReceiver = new MyReceiver(); 
    registerReceiver(mReceiver, filter); 
} 

答えて

0

これは可能ではありません。これは、電話アプリがforgroundにあり、近くに近いイベントを検出した場合に表示をトリガーしているためです。おそらく、ウォークロックを設定してからこれを解放することができます。

関連する問題