Android:应用程序无法在带有Jellybean的Nexus 10上运行 - 在旧设备上运行良好

时间:2013-01-26 03:49:47

标签: android api backwards-compatibility android-4.2-jelly-bean

我的应用程序针对2.2版,似乎在我测试过的3台设备上运行良好(版本2.2和2.3)

然而,我只是在谷歌Nexus 10平板电脑上运行它,启动画面工作正常,并采取触摸输入启动下一个活动(基于SurfaceView使用多个线程的菜单系统),虽然它显示/动画确定,没有按钮工作 - 我不确定从哪里开始,我错误地认为为较旧的Android API编写的应用程序与较新版本的操作系统不兼容?当然新版本可以向后兼容吗?

谢谢大家!!

编辑:如果我反复点击开始按钮,Logcat会显示:

enter image description here

所以不确定为什么这样做会在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;}

    }

1 个答案:

答案 0 :(得分:0)

public int nextInt(int n) {
    if (n > 0) {
        if ((n & -n) == n) {
            return (int) ((n * (long) next(31)) >> 31);
        }
        int bits, val;
        do {
            bits = next(31);
            val = bits % n;
        } while (bits - val + (n - 1) < 0);
        return val;
    }
    throw new IllegalArgumentException();
}

这是来自4.1的源代码,所以看起来你是如何将0传递给函数的,你的代码中是否会出现这种情况?