这里顺便记录下 Android 应用开发当中的一个一个的坑,很多时候我们都在面对这种问题,不同版本,不同厂商。。。
也许没有详尽/优雅的解决方法,但是至少问题在这里
1. SoundPool.play在 Android 4.3 当中没有办法 looping 播放
https://code.google.com/p/android/issues/detail?id=58113
2. Streaming 播放声音的时候(比如 AudioManager.MODE_IN_COMMUNICATION)无法切换外放
AudioManager.setMode(AudioManager.MODE_IN_CALL); // 切换成电话模式就可以切换
AudioManager.setSpeakerphoneOn(true);
3. 在某些机器上,比如插入耳机的时候无法切换外放
4. 写个跟 Android 编译相关的
Ant 脚本当中还是很老的 Java 1.5
参见 $ANDROID_HOME/tools/ant/build.xml
<property name="java.target" value="1.5" /> <property name="java.source" value="1.5" />
对于追求新的人来说当然太老了,Android 开发都用 Java 7,自己玩都用 Java 9 了
[javac] (use -source 7 or higher to enable diamond operator) [javac] XXXX error: diamond operator is not supported in -source 1.5
所以如果实在要用 Ant 的话,需要手动改改,build.xml 同级目录加入 ant.properties 文件
里面内容增加
java.source=1.7 java.target=1.7