2011-02-08 33 views
0

我的目标与电源按钮一样。
我尝试PARTIAL_WAKE_LOCK,这是我的代码..电源按钮应该怎么做(关闭屏幕,锁定键盘)?

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); 
wl.acquire(); 

在AndroidManifest.xml

<uses-permission android:name="android.permission.WAKE_LOCK" /> 

,我开WAKE_LOCK允许后但是,当我启动我的应用程序没有事情发生。
我错过了什么吗?

感谢

回答

0

从你的问题我不能完全肯定是否你:

  1. 尝试通过按下一个按钮
  2. 要确保设备不会去关闭设备睡眠(因为这是WakeLock应该帮助你)。它不能阻止用户交互(只是在HTC Desire上测试)。

对于1)您不能锁定装置或把它的电源,无需签名作为一个系统的应用程序,如写在这里:http://groups.google.com/group/android-developers/browse_thread/thread/36399f15724ac3ae/98d93e53616cf495?show_docid=98d93e53616cf495

对于2)可以防止设备使用WakeLock睡觉,示例代码可以这样读取:

/** 
* Called when the activity is first created. 
*/ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
    wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, TAG); 
} 

// Call me from a button 
public void doLock(View view) { 
    Log.d(TAG, "Lock"); 

    if (!wl.isHeld()) { 
     Log.d(TAG, "acquire"); 
     wl.acquire(); 
    } else { 
     Log.d(TAG, "release"); 
     wl.release(); 
    } 
} 
相关问题