Android点亮屏幕功能

    技术2023-11-22  75

    应用在涉及音视频播放功能时可能需要点亮屏幕,此文把点亮屏幕相关工具类和使用类的代码贴出来,若有问题欢迎指正!

    工具类:WakeLockUtil,相关代码如下:

    public class WakeLockUtil { /** * 点亮屏幕 * * @param timeout The timeout after which to release the wake lock, in milliseconds. */ @Nullable public static PowerManager.WakeLock acquireWakeLock(@NonNull Context context, long timeout) { PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); if (pm == null) return null; PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.FULL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, context.getClass().getName()); wakeLock.acquire(timeout); return wakeLock; } public static void release(@Nullable PowerManager.WakeLock wakeLock) { if (wakeLock != null && wakeLock.isHeld()) { wakeLock.release(); } } }

    使用类:WakeLockActivity,相关代码如下:

    public class WakeLockActivity extends AppCompatActivity { private PowerManager.WakeLock mWakeLock; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //点亮屏幕2分钟,2分钟后此方法会自动释放PowerManager.WakeLock mWakeLock = WakeLockUtil.acquireWakeLock(this, 2 * 60 * 1000); } @Override protected void onDestroy() { super.onDestroy(); WakeLockUtil.release(mWakeLock); } }

    相关权限如下:

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

     

    Processed: 0.016, SQL: 9