Im using a few sensors - MediaRecorder and MediaPlayer, NotificationManager, a WakeLock, and LocationListener...
Here is my onResume() and onPause() functions:
void onResume() {
super.onResume();
//GPS Sensor
locationListener = new MyLocationListener();
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 0, locationListener);
// Notification Manager
gNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
gNotification = new Notification();
gNotification.vibrate = gVibrate;
}
...
void onPause() {
super.onPause();
// Release the Recorder
if (mRecorder != null) {
mRecorder.release();
mRecorder = null;
}
// Release the Media Player
if(mPlayer != null) {
mPlayer.release();
mPlayer = null;
}
// Release Power Manager
wake.Stop();
wake = null;
// Release Location Listener
locationManager.removeUpdates(locationListener);
locationManager = null;
}
And here's the Logcat output...
threadid=1: thread exiting with uncaught exception
(group=0x40015560)
FATAL EXCEPTION: main
android.app.SuperNotCalledException: Activity
{changethispackage.beforesubmitting.tothemarket.sonicdrift/
changethispackage.beforesubmitting.tothemarket.sonicdrift.SonicDrift}
did not call through to super.onStop()
at android.app.Activity.performStop(Activity.java:3875)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2619)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:2690)
at android.app.ActivityThread.access$2100(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:964)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native
Method) W/InputManagerService( 96): Window already focused, ignoring
focus gain of:
com.android.internal.view.IInputMethodClient$Stub$Proxy@40713650
I/Process (17118): Sending signal. PID: 17118 SIG: 9
I/ActivityManager( 96): Process
changethispackage.beforesubmitting.tothemarket.sonicdrift (pid 17118)
has died. I/WindowManager( 96): WIN DEATH: Window{40958d98
changethispackage.beforesubmitting.tothemarket.sonicdrift/changethispackage.
beforesubmitting.tothemarket.sonicdrift.SonicDrift
paused=false} I/WindowManager( 96): WIN DEATH: Window{40991f90
SurfaceView paused=false}
How do I fix this error? I've tried to add super.onStop()
to my onPause()
.
You need to make sure that you have super.onStop
and super.onDestroy
in your overridden methods. This could be a good candidate for the problem you have:
@Override
protected void onStop() {
Log.w(TAG, "App stopped");
super.onStop();
}
@Override
protected void onDestroy() {
Log.w(TAG, "App destroyed");
super.onDestroy();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With