一种最佳做法是在本机扩展和 AIR for TV 应用程序之间提供握手。握手告诉应用程序有关该设备上扩展的可用性信息。利用此信息,AIR for TV 应用程序能够决定采取哪一条逻辑路径。
决定在您的 ActionScript 扩展类中为此握手提供哪些公共接口。然后,指示 AIR for TV 应用程序开发人员如何使用这些接口。
例如,假定有一个本机扩展,该扩展具有:
在每个变体的 ActionScript 端中,使用下列实现定义一个名为
isSupported()
的方法:
-
在与本机实现交互的实际 ActionScript 实现中,实现该方法以返回
true
。
执行调用的 AIR 应用程序正在具有设备绑定扩展的设备上运行。因此,应用程序知道它可以继续使用该扩展。
-
在存根 ActionScript 实现中,实现该方法以返回
false
。
执行调用的 AIR 应用程序正在具有非设备绑定扩展的设备上运行。在此情况下,AIR for TV 使用与 AIR 应用程序一起打包的存根扩展。
false
返回值通知应用程序不要调用该扩展的任何其他方法。应用程序可以做出相应的逻辑决策,如正常退出。
-
在模拟器 ActionScript 实现中,实现该方法以返回
true
。
执行调用的 AIR 应用程序正在台式计算机上运行以达到测试目的。因此,
true
返回值通知应用程序它可以继续使用该扩展。
不过,根据您的扩展的不同,您可以指示应用程序开发人员将其应用程序与您的模拟器扩展一起打包。那么,如果应用程序正在不具有设备绑定扩展的设备上运行,则应用程序将使用模拟器版本的扩展继续运行。
|
|
|