Skip to content

Instantly share code, notes, and snippets.

@manijshrestha
Created October 30, 2014 03:23
Show Gist options
  • Select an option

  • Save manijshrestha/aab483111d489b5e42ab to your computer and use it in GitHub Desktop.

Select an option

Save manijshrestha/aab483111d489b5e42ab to your computer and use it in GitHub Desktop.
@Override
public void onBackPressed() {
stopLockTask();
}
@lihenry2006
Copy link

App will crash if pressing the back key twice. This will call method stopLockTask twice.

05-07 03:10:40.794 E/AndroidRuntime(13260): FATAL EXCEPTION: main
05-07 03:10:40.794 E/AndroidRuntime(13260): Process: com.manijshrestha.lollipopkiosk, PID: 13260
05-07 03:10:40.794 E/AndroidRuntime(13260): java.lang.NullPointerException: Attempt to read from field 'android.content.Intent com.android.server.am.TaskRecord.intent' on a null object reference
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.os.Parcel.readException(Parcel.java:1552)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.os.Parcel.readException(Parcel.java:1499)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.app.ActivityManagerProxy.stopLockTaskMode(ActivityManagerNative.java:5314)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.app.Activity.stopLockTask(Activity.java:6304)
05-07 03:10:40.794 E/AndroidRuntime(13260): at com.manijshrestha.lollipopkiosk.KioskActivity.onBackPressed(KioskActivity.java:70)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.app.Activity.onKeyUp(Activity.java:2524)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.KeyEvent.dispatch(KeyEvent.java:2643)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.app.Activity.dispatchKeyEvent(Activity.java:2775)
05-07 03:10:40.794 E/AndroidRuntime(13260): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2276)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4026)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3988)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3550)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3603)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3569)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3686)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3577)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3743)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3550)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3603)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3569)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3577)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3550)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3603)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3569)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3719)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:3880)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2208)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1849)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1840)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2185)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.os.MessageQueue.nativePollOnce(Native Method)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.os.MessageQueue.next(MessageQueue.java:143)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.os.Looper.loop(Looper.java:122)
05-07 03:10:40.794 E/AndroidRuntime(13260): at android.app.ActivityThread.main(ActivityThread.java:5254)
05-07 03:10:40.794 E/AndroidRuntime(13260): at java.lang.reflect.Method.invoke(Native Method)
05-07 03:10:40.794 E/AndroidRuntime(13260): at java.lang.reflect.Method.invoke(Method.java:372)
05-07 03:10:40.794 E/AndroidRuntime(13260): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
05-07 03:10:40.794 E/AndroidRuntime(13260): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

@WildeHa
Copy link

WildeHa commented Oct 17, 2017

According to doc, stopLockTask() should be called only when startLockTask() has been called, otherwise there would be an error. Hope that help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment