本帖最后由 vanezkw 于 2011-12-07 15:22:44 编辑

解决方案 »

  1.   

    看看ACTION_SCREEN_OFF,ACTION_SCREEN_ON 和ACTION_USER_PRESENT.
      

  2.   


    public void onCreate(final Bundle savedInstanceState) {  
           final IntentFilter filter = new IntentFilter();  
           filter.addAction(Intent.ACTION_SCREEN_OFF);  
           filter.addAction(Intent.ACTION_SCREEN_ON);  
           registerReceiver(mBatInfoReceiver, filter);  
      
      
      
       private final BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {  
           @Override  
           public void onReceive(final Context context, final Intent intent) {  
               final String action = intent.getAction();  
              if(Intent.ACTION_SCREEN_ON.equals(action)){  
                   Log.d(TAG, "screen is on...");  
              }else if(Intent.ACTION.equals(action)){  
                   Log.d(TAG, "screen is off...");  
      
              }  
           }  
       }; 按照1楼给出的intent,监听广播
      

  3.   

    锁屏的广播和ACTION_SCREEN_OFF没有关系,我手上有个开发板是没有锁屏的,但是会发ACTION_SCREEN_OFF。
    解锁广播和ACTION_SCREEN_ON 没有关系。不过ACTION_USER_PRESENT应该有用,但是我没有试,现在问题解决了,我是通过修改\frameworks\base\policy\src\com\android\internal\policy\impl\LockScreen.java 在里面添加了一个解锁的广播。目前还没有找到锁屏时的广播应该在那里发(有些机器是不锁屏的,我用的“智器”就是这种情况)。
    谢谢你的回答。