zoukankan      html  css  js  c++  java
  • 通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(五)

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

    首先建一个flex手机项目

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

    可以看到此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>

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

    先占击startService

    可以输入一条信息测试

    往下拉通知

    so, enjoy it!

  • 相关阅读:
    聊天软件项目UDP升级版
    聊天软件项目TCP升级版
    JVM内存管理机制
    Java for循环的几种用法详解
    HashMap解决hash冲突的方法
    Hadoop NameNode 高可用 (High Availability) 实现解析
    Hadoop2.0NameNode HA和Federation实践
    Hadoop2.0中单点故障解决方案总结---老董
    HadoopHA简述
    数据库部分面试题
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/3274861.html
Copyright © 2011-2022 走看看