Activity handle when screen unlocked

我的梦境 提交于 2019-11-27 18:29:21

问题


So I have my onResume command restarting a stopped thread which runs my game loop. This works perfectly for resuming the app when closed by home button or by focusing on another app. However, when you turn the screen off then on again, the activities onResume command fires right away before screen is unlocked. I need my activity to know when the screen is unlocked so it can restart the thread at the appropriate time.

Has anyone had this happen before?


回答1:


for detect screen on and screen off register a broadcast reciver like:

AndroidManifest.xml:

    <receiver android:name="receiverScreen">
        <intent-filter> 
            <action android:name="android.intent.action.SCREEN_ON" />
            <action android:name="android.intent.action.SCREEN_OFF" />
<action android:name="android.Intent.ACTION_USER_PRESENT" />
        </intent-filter> 
    </receiver>

In Activity or Service:

    try {
              IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);

              filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);

              BroadcastReceiver mReceiver = new receiverScreen();

              registerReceiver(mReceiver, filter);
         } catch (Exception e) {

         }

receiver code where System inform you if Screen on/off happen:

 public class receiverScreen extends BroadcastReceiver {

     @Override
     public void onReceive(Context context, Intent intent) {

         if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)){

         }
        if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)){

         }
if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)){

         }
     }

    }


来源:https://stackoverflow.com/questions/9747564/activity-handle-when-screen-unlocked

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!