Adobe Air - 在没有使用权限的情况下检测应用程序是否在后台运行?

Adobe Air - Detect app is in the background without using permissions?

我使用 adobe Flash CS6 / Adob​​e Air 26.0 创建了一个应用程序。

为了在应用程序进入后台时暂停游戏,我正确地使用了停用状态,并且一切正常。

我需要通过 xml 文件添加权限才能读取 phone 状态 READ_PHONE_STATE

我知道此权限还意味着该应用正在读取 phone 的 phone 号码、日志和其他一些内容,这就是我必须制定隐私政策的原因。

我是否可以使用任何其他权限来代替 READ_PHONE_STATE,因为我只需要知道应用程序是否进入后台,而我不需要所有其他内容?

为了检测您的应用是进入后台还是返回前台,您必须使用 READ_PHONE_STATE 权限。当您使用以下事件时,Adobe AIR 会自动添加此权限。

通过添加用于停用和重新激活应用程序的事件侦听器来检测它:

NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, onDeactivate);
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, onActivate);

function onDeactivate(evt:Event):void
{
   // Pause the game
}
function onActivate(evt:Event):void
{
   // Un-Pause the game
}
  • 当应用程序转到 背景。
  • Event.ACTIVATE 事件在应用程序转到 前景。

READ_PHONE_STATE 是最常见的权限,当今大多数应用程序都在使用它。

Adobe AIR 的一大优势在于它在所有移动设备上运行相同OS。上面的代码会让您知道用户何时退出或最小化应用程序而不需要 Android 和 iOS 设备的权限。