一般情况下timeout之后就会screen-off,然后sleep。比如一个视频播放器怎么做到播放电影时候不会黑屏;

解决方案 »

  1.   

    //只要申请获取WalkLock对象锁就行   但记得需要在onDestory 时及时释放 public void onCreate(Bundle paramBundle) {
    super.onCreate(paramBundle);
    //hide title
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    //full screen
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN
    , WindowManager.LayoutParams.FLAG_FULLSCREEN);
    System.gc();
    setRequestedOrientation(0);//set display orientation
    PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
    WakeLock mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.FULL_WAKE_LOCK, "PreviewActivity");
    mWakelock.acquire();// wake up
                    
                    ....
    @Override
    protected void onDestroy() {
    // TODO Auto-generated method stub
    if(mPlayer.isPlaying()){
    mPlayer.stop();
    }
    mPlayer.release();//release mPlayer

    mWakelock.release();//release localWakeLock
    super.onDestroy();
    }
      

  2.   


    或者这样也可以 public void onCreate(Bundle paramBundle) {
    super.onCreate(paramBundle);
    requestWindowFeature(Window.FEATURE_NO_TITLE); //hide title
    //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN
    // , WindowManager.LayoutParams.FLAG_FULLSCREEN);
    Window win = getWindow();
        WindowManager.LayoutParams winParams = win.getAttributes();
            winParams.flags |= (WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
                  ......