我的应用播放 mp3,但是当我按下主页按钮或从横向切换到纵向或从纵向模式切换到横向时,应用强制关闭。我使用 Froyo 在真实设备上运行我的应用程序。
我的问题是:
- 为什么会这样?
- 我如何回溯强制关闭的原因?
我是 Android 和 Java 的新手。
import android.media.AudioManager;
import android.media.AudioTrack;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
public class AudioPlayManager extends Activity
implements OnCompletionListener
{
private File fileName;
private volatile boolean playing;
protected MediaPlayer mp1;
public AudioPlayManager() {
super();
setPlaying(false);
}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mp1 = MediaPlayer.create(this, R.raw.telek_jobban_lezart);
mp1.setOnCompletionListener(this);
mp1.start();
}
public void setFileName(File fileName) {
this.fileName = fileName;
}
public File getFileName() {
return fileName;
}
public void setPlaying(boolean playing) {
this.playing = playing;
}
public boolean isPlaying() {
return playing;
}
protected void onStop() {
try{
mp1.stop();
mp1.release();
}
catch(Exception e){
//e.printStackTrace();
}
}
@Override
public void onCompletion(MediaPlayer arg0) {
// TODO Auto-generated method stub
mp1.start();
}
}
我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.audioplaya2"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.audioplaya2.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
更新:解决方案
我在 Android 2.2 上运行该应用程序,显然它不是为 Android 2.2 构建的。
问题存在于设备上,但不存在于模拟器上。模拟器运行Android 4.2,设备运行Android 2.2。创建项目时,我保留了默认的 SDK 设置:
所需的最低 SDK:API 8
目标 SDK:API 17
编译:API 17
主题:带有深色动作条的全息灯。
Holo 主题需要 API 11。在我将所有 API 版本设置为 8 之前,我没有收到关于此的警告...
这对我来说是一个惊喜。The minimum required SDK 相关信息显示:选择您的应用程序将支持的最低 Android 版本。显然这不是最低要求 SDK 的真正定义......