asysbang

 找回密码
 立即注册
查看: 6478|回复: 0
打印 上一主题 下一主题

QQ游戏大厅实现机制示例

[复制链接]

513

主题

2

好友

6404

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2013-5-2 16:21:20 |只看该作者 |倒序浏览
转载请注明:www.asysbang.com

QQ游戏大厅可以运行没有安装的应用,如连连看,五子棋等
这个是通过DexClassLoader  以及反射等方法实现的

下面是自己写的一个运行“没安装应用”的例子

这个是可以独立运行,也可以被其他应用运行的程序源代码  --  gameone.apk



这个是调用其他apk的程序,相当于QQ的游戏大厅    -- gamehall.apk



运行方法
只要把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  等方法都要通过反射去调用




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

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

Archiver|手机版|aSys-帮 ( 京ICP备13033689号 )

GMT+8, 2024-10-5 20:22 , Processed in 0.044729 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部