2013-03-28 59 views
1

我構建了一個應用程序,每次方向更改時都會觸發一個活動,但我有一個例外:我不希望活動在手機解鎖後的五秒鐘內觸發。如何確定設備最近在Android中解鎖時的位置?

因此,手機解鎖後,我會忽略每個手機方向更改五秒鐘。
我想我可以得到最後解鎖時間並與當前時間進行比較?

有關如何操作的建議?

謝謝!

回答

2

ACTION_USER_PRESENT註冊一個廣播接收器,並在其中啓動一個處理程序以在至少五秒鐘後運行您的活動。

您必須動態註冊接收方,因爲如果您從清單註冊,則不會調用ACTION_USER_PRESENT。

IntentFilter filter = new IntentFilter(Intent.ACTION_USER_PRESENT); 
BroadcastReceiver mReceiver = new YourReceiver(); 
registerReceiver(mReceiver, filter); 
+0

*如果您從清單註冊,則不會調用ACTION_USER_PRESENT *爲什麼只有此操作不能從清單中工作。即時通訊不同意這一點,因爲我已經使用它很多時間使用清單 –

+0

@ρяσѕρєяK即使其他動作,如ACTION_SCREEN_ON和ACTION_SCREEN_OFF需要動態註冊。我在某處讀了原因,但我忘了它 –

+1

@ρяσѕρєя:我認爲這隻對ACTION_SCREEN_ON/OFF有效。這篇文章也很有趣:http://funwithdc.wordpress.com/2012/02/12/the-problem-with-androids-action_user_present-intent/ – Trinimon

相關問題