android.app.SuperNotCalledException: Activity did not call through to super.onCreate()
android, android-activity, java
Solution
You didn't call the `Activity`'s `onCreate()` method, i.e the super class' one. Add the call to `MainActivity`'s `onCreate()` method:
public class MainActivity extends Activity {
private MediaPlayer mp;
private static final String MAIN_TAG ="ERROR";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // this line is missing
// your code below ...
Problem
Here is my `Android` Media player code. I don't know what I am missing in this code, when I run with breakpoint at line `MediaPlayer mp = new MediaPlayer()` in `Debug` mode. All the files in `zip` folder is played. But when I run the application in normal mode the first file is played and then I get this error: ``` android.app.SuperNotCalledException: Activity {com.example.mediaplayer/com.example.mediaplayer.MainActivity} did not call through to super.onCreate() ``` Code: ``` package com.example.mediaplayer; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import org.apache.commons.io.IOUtils; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.widget.Button; public class MainActivity extends Activity { private MediaPlayer mp; private static final String MAIN_TAG ="ERROR"; @Override protected void onCreate(Bundle savedInstanceState) { try { //final String file_loc= Environment.getExternalStorageDirectory().toString(); //Log.i("location",file_loc); ZipFile zip = new ZipFile("/storage/emulated/0/AjeshDocument/sample.zip"); for(int i=1;i<7;i++){ ZipEntry entry = zip.getEntry("sample/rihanna_"+i+".mp3"); if (entry != null) { InputStream in = zip.getInputStream(entry); // see Note #3. File tempFile = File.createTempFile("_AUDIO_", ".wav"); FileOutputStream out = new FileOutputStream(tempFile); IOUtils.copy(in, out); // do something with tempFile (like play it) File f = tempFile; try { if (f.exists()) { Log.i(MAIN_TAG,"Audio file found!"); MediaPlayer mp = new MediaPlayer(); FileInputStream fis = new FileInputStream(f); mp.setDataSource(fis.getFD()); mp.prepare(); //mp.setLooping(false); mp.start(); //mp.stop(); // mp.release(); Log.i(MAIN_TAG,"Pronounciation finished!"); } else { Log.i(MAIN_TAG,"File doesn't exist!!"); } } catch (IOException e) { Log.i(MAIN_TAG,e.toString()); } } else { // no such entry in the zip } } //for end mp.release(); } catch (Exception e) { // handle your exception cases... Log.i(MAIN_TAG,e.toString()); } } @Override protected void onResume() { Log.w("Info", "App Resume"); super.onResume(); } @Override protected void onStop() { Log.w("Info", "App stopped"); super.onStop(); } @Override protected void onDestroy() { Log.w("Info", "App destoryed"); super.onDestroy(); } } ```