Android Air - 如何在睡眠期间保持应用程序活动

3

如果可以在睡眠模式下保持Air for Android应用程序的活动状态,该如何实现?我知道如何防止睡眠和锁屏,但这种方法不适用于某些用户。
更新
这种情况的原因是为了将视频从手机流式传输到服务器。

2个回答

12

我认为你谈论的是如何防止AIR应用程序的屏幕变暗。可以使用以下方法实现:

NativeApplication.nativeapplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE

这将覆盖默认行为,直到AIR应用程序在前台运行时,屏幕不会超时。要将模式恢复为正常模式,可以将属性设置回SystemIdleMode.NORMAL。除了此代码外,您还需要在AIR应用程序的app.xml中指定两个权限,它们是:

android.permission.WAKE_LOCK android.permission.DISABLE_KEYGUARD

但正如Emmanuel上面提到的那样,这肯定意味着您的电池将更快地耗尽。然而,在播放视频且不希望屏幕变暗的应用程序中,这可能会很有用。

希望这可以帮助到您。 Mohit


这个解决方案可以很好地保持应用程序的运行,但是不幸的是,一段时间后网络连接会中断。 :/ - Antoine Mouquod

0

你为什么要让它保持活动状态呢?如果用户不再查看手机,为什么要消耗CPU/RAM/电池呢?

如果你想在后台定期执行某些操作,可以使用Alarm。http://developer.android.com/reference/android/app/AlarmManager.html

这样即使手机处于睡眠状态,也可以启动闹钟。

如果需要进行其他类型的后台处理,可以使用运行在前台的服务。 http://developer.android.com/reference/android/app/Service.html#startForeground%28int,%20android.app.Notification%29

虽然这不能完全保证服务始终保持运行状态,例如当手机内存不足时。

希望这对你有所帮助...

Emmanuel


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接