这一节,用个简单的例子来调用下之前生成的service.ane

首先建一个flex手机项目

通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(五)-LMLPHP

然后在构建路径中把ane引进来

通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(五)-LMLPHP

可以看到此ane支持Android平台。

serviceMobile.mxml如下:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
applicationDPI="160"
xmlns:mx="library://ns.adobe.com/flex/mx"
backgroundColor="0"
applicationComplete="init()">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import nav.wenbo.service.ServiceController;
public var sCtrl:ServiceController;
private function init():void {
sCtrl = ServiceController.instance;
} public function startService(event:Event):void
{
sCtrl.startAndriodService();
trace("start");
}
public function stopService(event:Event):void
{
sCtrl.stopAndriodService()
trace("stop");
}
public function sendMessage(event:Event):void
{
sCtrl.setNotification(msginput.text);
trace("init");
}
]]>
</fx:Script>
<s:Button name="init" label="sendMessage" click="sendMessage(event)" y="100">
</s:Button>
<s:Button name="startService" label="startService" click="startService(event)" y="0">
</s:Button>
<s:Button name="stopService" label="stopService" click="stopService(event)" y="50">
</s:Button>
<s:TextInput name="msg" text="输入消息" id="msginput" y="150">
</s:TextInput>
</s:Application>

最后一步,你需要在air -app.xml里配置上service的权限

<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">
<!--See the Adobe AIR documentation for more information about setting Google Android permissions-->
<!--删除 android.permission.INTERNET 权限将导致无法调试设备上的应用程序-->
<uses-permission android:name="android.permission.INTERNET"/>
......
<application>
<service android:enabled="true" android:exported="true" android:name="nav.wenbo.service.NotificationService" />
</application>
</manifest> ]]></manifestAdditions>
</android>

然后你可以,调试或是装到真机上测试它。这里我装在模拟器上测试它

通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(五)-LMLPHP

先占击startService

通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(五)-LMLPHP

可以输入一条信息测试

通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(五)-LMLPHP

往下拉通知

通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(五)-LMLPHP

so, enjoy it!

这里也贴出相关文件

p: 更多的技术交流 [email protected]

ane下载:  http://files.cnblogs.com/bobolive/service.zip

测试例子+ane下载: http://files.cnblogs.com/bobolive/serviceMobile.zip

04-29 04:58