在Android原生应用开发中,启动一个应用非常容易:

  1. Intent __intent = new Intent(this, YourAppActivity.class);
  2. startActivity(__intent);

但在ANE插件开发中,要启动AIR开发的Android应用,就不那么容易了。

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

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

  1. public class SetAlarmFun implements FREFunction
  2. {
  3. public static final String TAG = "org.zengrong.ane.funs.SetAlarmFun";
  4. /**
  5. * 保存上下文
  6. */
  7. private FREContext _context;
  8. @Override
  9. public FREObject call(FREContext $context, FREObject[] $args)
  10. {
  11. _context = $context;
  12. Log.i(TAG, _context.getActivity().getApplicationInfo().className);
  13. //null
  14. }
  15. }

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提醒玩家上线。玩家看到消息后,直接单击消息提示,自动打开游戏。

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

最新文章

  1. 各种开源Android 系统定制
  2. .NET Core 和 .NET Framework 之间的关系
  3. UDP发送中文
  4. 【读书笔记】iOS网络-使用Bonjour实现自组织网络
  5. Hibernate @Formula 注解方式
  6. 一般处理程序 ashx中使用外部Session 出现不存在 解决方案
  7. Queue(队列)
  8. hdu 1665 That Nice Euler Circuit(欧拉定理)
  9. ES6的Promise
  10. mac下安装redis详细步骤
  11. hdu-1043 bfs+康拓展开hash
  12. c# Unicode 转换 ASCII
  13. C# == 和 Equals
  14. https://blog.csdn.net/qq_35447305/article/details/78587691
  15. PostgreSQL内部结构与源代码研究索引页
  16. python中是否有单独的字符类型,通过下标的方式表示字符串中的字符
  17. Java8 改进的匿名内部类:
  18. win10 安装oracle 11gR2_database(内附下载地址)
  19. 关于DP和背包
  20. JAVA乐观锁实现-CAS

热门文章

  1. 9/252D图的画法
  2. liferay中如何实现自己定义的方法
  3. Javascript-闰年javascript的判断
  4. #C++初学记录(贪心算法#结构体#贪心算法)
  5. RVDS编译器
  6. nginx安装,反向代理配置
  7. ngxin开启rewrite伪静态
  8. Trove系列(二)—Trove 的架构和流程介绍
  9. zw版【转发&#183;台湾nvp系列Delphi例程】HALCON TestRegionPoint2
  10. 十图详解tensorflow数据读取机制