在Android中,Wake Lock用于防止设备进入睡眠状态。要开启Wake Lock,请按照以下步骤操作:
<uses-permission android:name="android.permission.WAKE_LOCK" /> import android.content.Context; import android.os.Build; import android.os.PowerManager; // ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 请求Wake Lock权限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(new String[]{Manifest.permission.WAKE_LOCK}, REQUEST_CODE); } } private PowerManager.WakeLock getWakeLock() { PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); if (powerManager != null) { return powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLockTag"); } return null; } 注意:PARTIAL_WAKE_LOCK表示允许CPU保持唤醒状态,但屏幕可能会关闭。您可以根据需要使用其他Wake Lock类型。
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 请求Wake Lock权限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(new String[]{Manifest.permission.WAKE_LOCK}, REQUEST_CODE); } // 获取Wake Lock实例 wakeLock = getWakeLock(); } release()方法。例如,在onDestroy()方法中添加以下代码:@Override protected void onDestroy() { super.onDestroy(); // 释放Wake Lock if (wakeLock != null && wakeLock.isHeld()) { wakeLock.release(); } } 现在,您的设备应该保持唤醒状态,直到Wake Lock被释放。请注意,长时间使用Wake Lock可能会导致电池快速耗尽。在实际应用中,请确保合理安排Wake Lock的使用。