@@ -180,7 +180,15 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
180
180
181
181
final Thread wvThread = new Thread (new WebViewLoaderMain (), "WvThread" );
182
182
wvThread .start ();
183
+ }
183
184
185
+ @ Override
186
+ public void onDestroy () {
187
+ Log .i ("Destroy" , "end of app" );
188
+ super .onDestroy ();
189
+
190
+ // make sure all child threads (python_thread) are stopped
191
+ android .os .Process .killProcess (android .os .Process .myPid ());
184
192
}
185
193
186
194
public void loadLibraries () {
@@ -297,6 +305,27 @@ public static ViewGroup getLayout() {
297
305
return mLayout ;
298
306
}
299
307
308
+ long lastBackClick = SystemClock .elapsedRealtime ();
309
+ @ Override
310
+ public boolean onKeyDown (int keyCode , KeyEvent event ) {
311
+ // Check if the key event was the Back button and if there's history
312
+ if ((keyCode == KeyEvent .KEYCODE_BACK ) && mWebView .canGoBack ()) {
313
+ mWebView .goBack ();
314
+ return true ;
315
+ }
316
+ // If it wasn't the Back key or there's no web page history, bubble up to the default
317
+ // system behavior (probably exit the activity)
318
+ if (SystemClock .elapsedRealtime () - lastBackClick > 2000 ){
319
+ lastBackClick = SystemClock .elapsedRealtime ();
320
+ Toast .makeText (this , "Click again to close the app" ,
321
+ Toast .LENGTH_LONG ).show ();
322
+ return true ;
323
+ }
324
+
325
+ lastBackClick = SystemClock .elapsedRealtime ();
326
+ return super .onKeyDown (keyCode , event );
327
+ }
328
+
300
329
301
330
//----------------------------------------------------------------------------
302
331
// Listener interface for onNewIntent
@@ -367,7 +396,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent intent)
367
396
}
368
397
}
369
398
370
- public static void start_service (String serviceTitle , String serviceDescription ,
399
+ public static void start_service (String serviceTitle , String serviceDescription ,
371
400
String pythonServiceArgument ) {
372
401
Intent serviceIntent = new Intent (PythonActivity .mActivity , PythonService .class );
373
402
String argument = PythonActivity .mActivity .getFilesDir ().getAbsolutePath ();
0 commit comments