我开发了一个简单的应用程序,一旦活动开始,警报就会在给定的时间段内启动。我已经在模拟器中尝试过编码,它可以工作。但是当我在手机(Android 2.3.5)中运行应用程序时,应用程序会强制关闭。
RemoteAlarmActivity.java
MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mp = MediaPlayer.create(RemoteAlarmActivity.this, R.raw.music);
Log.d(this.getClass().getName(), "Alarm Created");
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
Log.d(this.getClass().getName(), "Alarm Started");
Handler h = new Handler();
Runnable stopPlaybackRun = new Runnable() {
public void run(){
mp.stop();
mp.release();
}
};
h.postDelayed(stopPlaybackRun, 20 * 1000);
}
日志猫
11-21 15:27:23.192: E/MediaPlayer(13047): Unable to to create media player
11-21 15:27:23.292: D/MediaPlayer(13047): create failed:
11-21 15:27:23.292: D/MediaPlayer(13047): java.io.IOException: setDataSourceFD failed.: status=0x80000000
11-21 15:27:23.292: D/MediaPlayer(13047): at android.media.MediaPlayer.setDataSource(Native Method)
11-21 15:27:23.292: D/MediaPlayer(13047): at android.media.MediaPlayer.create(MediaPlayer.java:704)
11-21 15:27:23.292: D/MediaPlayer(13047): at com.testing.alarm.RemoteAlarmActivity.onCreate(RemoteAlarmActivity.java:21)
11-21 15:27:23.292: D/MediaPlayer(13047): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
11-21 15:27:23.292: D/MediaPlayer(13047): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836)
11-21 15:27:23.292: D/MediaPlayer(13047): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
11-21 15:27:23.292: D/MediaPlayer(13047): at android.app.ActivityThread.access$1500(ActivityThread.java:135)
11-21 15:27:23.292: D/MediaPlayer(13047): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
11-21 15:27:23.292: D/MediaPlayer(13047): at android.os.Handler.dispatchMessage(Handler.java:99)
11-21 15:27:23.292: D/MediaPlayer(13047): at android.os.Looper.loop(Looper.java:150)
11-21 15:27:23.292: D/MediaPlayer(13047): at android.app.ActivityThread.main(ActivityThread.java:4385)
11-21 15:27:23.292: D/MediaPlayer(13047): at java.lang.reflect.Method.invokeNative(Native Method)
11-21 15:27:23.292: D/MediaPlayer(13047): at java.lang.reflect.Method.invoke(Method.java:507)
11-21 15:27:23.292: D/MediaPlayer(13047): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
11-21 15:27:23.292: D/MediaPlayer(13047): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
11-21 15:27:23.292: D/MediaPlayer(13047): at dalvik.system.NativeStart.main(Native Method)
11-21 15:27:23.302: D/com.testing.alarm.RemoteAlarmActivity(13047): Alarm Created
附件是编码的一部分以及logcat。有人可以帮我指出我的编码有什么问题吗?谢谢...