【发布时间】:2013-01-26 03:49:46
【问题描述】:
我的应用面向 2.2 版,并且似乎在我测试过的 3 台设备上运行良好(2.2 版和 2.3 版)
但是,我只是在 Google Nexus 10 平板电脑上运行它,并且启动画面工作正常,并且需要触摸输入来启动下一个活动(基于 SurfaceView 使用多线程的菜单系统),尽管它显示/动画正常,所有按钮都不起作用-我不确定从哪里开始,假设为较旧的Android API编写的应用程序与较新版本的操作系统不兼容,我错了吗?新版本肯定向后兼容吗?
谢谢大家!!
编辑:如果我反复点击开始按钮,Logcat 会显示:
所以不知道为什么在 JB 上这样做,但在运行旧操作系统的设备上可以 - 谢谢大家。
编辑 2:
“按钮”释放代码(在“按钮”按下后):
if (event.getAction()==MotionEvent.ACTION_UP){
Intent StartNewGame = new Intent((Activity) getContext(), StartGame.class);
getContext().startActivity(StartGame);
// Oddly, if I put a System.exit(0); here, game activity starts and everything is fine - obviously this is only for testing and needs to be removed.
return true;}
}
【问题讨论】:
-
尝试将您的 android 版本设置为 4.1
-
您好,感谢您的评论,不幸的是,这不起作用 - 它似乎不再崩溃,但是按下开始按钮时游戏仍然没有开始。我的“目标 API”不应该设置为我所针对的实际最低版本吗?我刚把它改回 2.2,它还没有崩溃,但也没有启动 :-( 再次感谢!!!!!
-
您可以定位到更高版本而不会对您的代码产生任何问题,但是有些方法已弃用(不会给出任何错误,但建议更改它)。按下启动按钮时会发生什么?您是否尝试将日志添加到您的按钮?
-
谢谢,那么通常的方法是什么?我一直将我的目标 API 级别设置为我想要定位的最低 API - 我的理解是,如果我尝试使用不可用的 API,如果我将我的 API 设置为最新版本,Eclipse 会标记它,如果我使用的 API 在早期版本中不可用,Eclipse 会为我标记它 - 只是一种故障安全!当按下按钮时,我的游戏活动没有开始,几乎什么都没有发生!! :-( 我已经登录了,所以我可以在 DDMS 中看到正在注册的按钮按下!再次感谢您的所有帮助 :-)
-
我不是说 manifest.xml 上的 api 目标,您可以通过右键单击您的项目 > 属性 > Android > 检查 Android 4.1 > 应用来将您的 android 构建更改为更高级别。你能编辑你的帖子并在你的按钮上添加你的代码吗?
标签: android api backwards-compatibility android-4.2-jelly-bean