守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 2554|回复: 0

[Android] 在ANE插件中启动AIR开发的Android应用

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    52623
    钢镚
    1422

    开源英雄守望者

    发表于 2015-4-27 15:42:24 | 显示全部楼层 |阅读模式
    在Android原生应用开发中,启动一个应用非常容易:
    1. Intent __intent = new Intent(this, YourAppActivity.class);
    2. startActivity(__intent);
    复制代码
    但在ANE插件开发中,要启动AIR开发的Android应用,就不那么容易了。

    因为我并不知道AIR应用的Activicy类名是什么,无法设置Indent。

    ANE包含在AIR应用中,我或许可以在ANE中得到AIR应用的Activity类名,但我尝试了下面的方法,不顶用:

    1. public class SetAlarmFun implements FREFunction
    2. {
    3.     public static final String TAG = \"org.zengrong.ane.funs.SetAlarmFun\";
    4.    
    5.     /**
    6.      * 保存上下文
    7.      */
    8.     private FREContext _context;
    9.    
    10.     @Override
    11.     public FREObject call(FREContext $context, FREObject[] $args)
    12.     {
    13.         _context = $context;
    14.         Log.i(TAG, _context.getActivity().getApplicationInfo().className);
    15.         //null
    16.     }
    17. }
    复制代码
    ANE和AIR应用应该是运行在不同的线程中的,这或许是无法得到类名的原因。

    最后,下面的代码可以在ANE中启动AIR开发的Android应用。当然,在Android原生应用中,也可以用这种方法启动AIR应用。

    我的AIR应用的包名为org.zengrong.ane.test。但是AIR会自动为包名加入air前缀。如果是调试版的AIR应用,还会被自动加上debug后缀。

    因此,这个AIR应用的id实际上变成了air.org.zengrong.ane.test.debug。真够长的……

    1. public FREObject call(FREContext $context, FREObject[] $args)
    2. {
    3.     _context = $context;
    4.     Intent __activityIntent = _context.getActivity().getPackageManager().getLaunchIntentForPackage(\"air.org.zengrong.ane.test.debug\");
    5.     startActivity(__activityIntent);
    6. }
    复制代码
    这个技巧有什么用?

    例如有个AIR开发的游戏希望在自己没有打开的时候提醒玩家上线,那么它就可以在后台使用ANE悄悄放一个Service,这个Service可以在合适的时候弹出Notification提醒玩家上线。玩家看到消息后,直接单击消息提示,自动打开游戏。

    如果我上面说的应用环境你没有看懂,那么就当我没说好了。



    本文来自:http://zengrong.net/post/1663.htm
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2024-3-29 23:21 , Processed in 0.092897 second(s), 34 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表