asysbang
标题:
QQ游戏大厅实现机制示例
[打印本页]
作者:
admin
时间:
2013-5-2 16:21
标题:
QQ游戏大厅实现机制示例
转载请注明:
www.asysbang.com
QQ游戏大厅可以运行没有安装的应用,如连连看,五子棋等
这个是通过DexClassLoader 以及反射等方法实现的
下面是自己写的一个运行“没安装应用”的例子
这个是可以独立运行,也可以被其他应用运行的程序源代码 -- gameone.apk
[attach]18[/attach]
这个是调用其他apk的程序,相当于QQ的游戏大厅 -- gamehall.apk
[attach]19[/attach]
运行方法
只要把gameone.apk放在/sdcard/目录下,就可以通过gamehall.apk 来运行gameone.apk了
核心代码:
DexClassLoader loader = new DexClassLoader("/sdcard/gameone.apk", "/data/data/com.asys.gamehall", null, ClassLoader.getSystemClassLoader().getParent());
其中"/data/data/com.asys.gamehall"这个目录在最新的android版本中,不能是sdcard上的目录。。。难怪QQ游戏大厅会调整目录
两年前,研究这个问题时,还是可以保存到sdcard目录的。。。。
PS:完整的逻辑实现 onResume onRestart onDestroy 等方法都要通过反射去调用
欢迎光临 asysbang (http://asysbang.com/)
Powered by Discuz! X2.5