1
我正在構建一個應用程序,它使用電源按鈕計數來執行一些操作,我有一個BroadcastReceiver和一個可幫助我做到這一點的服務。我使用ACTION_SCREEN_OFF,ACTION_SCREEN_ON和ACTION_USER_PRESENT作爲意圖過濾器,一切正常,每臺印刷機上的電源按鈕執行我想要的操作,但接近傳感器與ACTION_SCREEN_OFF和ACTION_SCREEN_ON一起使用相同的場景。因此,當用戶撥打電話時,我的服務正在ACTION_SCREEN_OFF和ACTION_SCREEN_ON的後臺檢查中運行,因此當主叫方將設備帶走並朝向他/她的耳朵時,接近傳感器將執行相同的操作。我想在此區分電源按鈕按鈕和接近傳感器操作。爲了完成這個任務,我應該遵循什麼?這裏是我的代碼的一部分,這可能會幫助你理解我想要問什麼。通過電源按鈕和接近傳感器區分屏幕或屏幕
我的擴展服務類具有下面的代碼在它的onCreate():
mReceiver=new PowerButtonActionReciever();
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);
registerReceiver(mReceiver, filter);
延伸廣播接收器的類捕獲電源按鈕單擊它的onReceive()方法:
@Override
public void onReceive(Context context, Intent intent)
{
//perform some action
}