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!

    这里也贴出相关文件

    p: 更多的技术交流 wenbocode@126.com

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

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

  • 相关阅读:
    java攻城狮之路(Android篇)--widget_webview_metadata_popupwindow_tabhost_分页加载数据_菜单
    java攻城狮之路(Android篇)--MP3 MP4、拍照、国际化、样式主题、图片移动和缩放
    java攻城狮之路(Android篇)--BroadcastReceiver&Service
    内存调试的东西D/dalvikvm( 809 ): GC_CONCURRENT freed
    java攻城狮之路(Android篇)--Activity生命
    java攻城狮之路(Android篇)--与服务器交互
    java实例练习
    java攻城狮之路(Android篇)--ListView与ContentProvider
    java攻城狮之路(Android篇)--SQLite
    Android中使用自身携带的Junit新建一个测试工程
  • 原文地址:https://www.cnblogs.com/bobolive/p/3203797.html
Copyright © 2011-2022 走看看