手机解锁后开始我的活动

时间:2013-09-01 23:56:48

标签: android multithreading

如果屏幕被锁定,我想推迟我的活动。例如,如果屏幕被锁定,我想检测用户何时解锁屏幕,然后立即开始我的活动。这就是我目前用来检测它是否被锁定的内容。但我似乎无法弄清楚如何在解锁后开始我的活动?当屏幕解锁时,KeyguardManager会自动更新吗?谢谢!

KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
 if( myKM.inKeyguardRestrictedInputMode()) {
 //it is locked
 else
 {
  //it is unlocked
} 

1 个答案:

答案 0 :(得分:1)

我不知道KeyguardManager的行为,但我可以使用广播接收器为您提供替代解决方案。

在我的应用中,我做了以下事情:

  1. 创建扩展BroadcastReceiver的新类
  2. 在清单中注册接收器并分配以下intent-filter:

    <receiver android:name="com.the.phonagramtwo.UserPresentReciever" >
        <intent-filter>
            <action android:name="android.intent.action.USER_PRESENT" />
        </intent-filter>
    </receiver>
    
  3. 在onRecieve方法

    中解锁后定义所需的行为
    public class UserPresentReciever extends BroadcastReceiver {
    
        public void onReceive(Context context, Intent intent) {
            Activity a = new Activity;
            Intent i = new Intent(a.getBaseContext(), ActivityYouWithToStart.class);
            a.startActivity(i);
        }
    }