单击后退按钮android时最小化应用程序

前端之家收集整理的这篇文章主要介绍了单击后退按钮android时最小化应用程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我创建了一个应用程序,在按下后退按钮时调用onPause().@H_403_2@

如下方式..@H_403_2@

@H_403_2@

  1. protected void onPause() {
  2. // TODO Auto-generated method stub
  3. super.onPause();
  4. // Notification show in status bar
  5. NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
  6. this).setSmallIcon(R.drawable.icon).setContentTitle("TNLRadio")
  7. .setContentText("");
  8. // Creates an explicit intent for an Activity in your app
  9. // Intent resultIntent = new Intent(this,MainActivity.class);
  10. Intent resultIntent = this.getIntent();
  11. TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
  12. // Adds the back stack for the Intent (but not the Intent itself)
  13. stackBuilder.addParentStack(MainActivity.class);
  14. // Adds the Intent that starts the Activity to the top of the stack
  15. stackBuilder.addNextIntent(resultIntent);
  16. PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
  17. mBuilder.setContentIntent(resultPendingIntent);
  18. NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
  19. int mId = 0;
  20. // mId allows you to update the notification later on.
  21. mNotificationManager.notify(mId,mBuilder.build());
  22. this.unregisterReceiver(UIStateManager.getInsatance());
  23. // unregister call listener
  24. UIStateManager.getInsatance().onPause(this);
  25. }

我想在单击后退按钮时执行相同的操作…这是在onBackPress()中.我在onBackPress()方法调用了onPause()方法.@H_403_2@

然后我得到如下错误:@H_403_2@

@H_403_2@

  1. 08-28 13:45:34.600: E/AndroidRuntime(14153): FATAL EXCEPTION: main
  2. 08-28 13:45:34.600: E/AndroidRuntime(14153): java.lang.IllegalArgumentException: Receiver not registered: com.ironone.streaming.evt.UIStateManager@4153d788
  3. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:628)
  4. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1130)
  5. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:354)
  6. 08-28 13:45:34.600: E/AndroidRuntime(14153): at com.ironone.streaming.MainActivity.onPause(MainActivity.java:567)
  7. 08-28 13:45:34.600: E/AndroidRuntime(14153): at com.ironone.streaming.MainActivity.onBackPressed(MainActivity.java:866)
  8. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.app.Activity.onKeyUp(Activity.java:2099)
  9. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.view.KeyEvent.dispatch(KeyEvent.java:2633)
  10. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.app.Activity.dispatchKeyEvent(Activity.java:2329)
  11. 08-28 13:45:34.600: E/AndroidRuntime(14153): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1957)
  12. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3546)
  13. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.view.ViewRootImpl.handleFinishedEvent(ViewRootImpl.java:3519)
  14. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2603)
  15. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.os.Handler.dispatchMessage(Handler.java:99)
  16. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.os.Looper.loop(Looper.java:137)
  17. 08-28 13:45:34.600: E/AndroidRuntime(14153): at android.app.ActivityThread.main(ActivityThread.java:4507)
  18. 08-28 13:45:34.600: E/AndroidRuntime(14153): at java.lang.reflect.Method.invokeNative(Native Method)
  19. 08-28 13:45:34.600: E/AndroidRuntime(14153): at java.lang.reflect.Method.invoke(Method.java:511)
  20. 08-28 13:45:34.600: E/AndroidRuntime(14153): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
  21. 08-28 13:45:34.600: E/AndroidRuntime(14153): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
  22. 08-28 13:45:34.600: E/AndroidRuntime(14153): at dalvik.system.NativeStart.main(Native Method)

请尽快帮助我

最佳答案
首先,完全删除onBackPressed().然后,尝试将以下代码插入到onKeyDown()中,如下所示.
(如果你还没有这样的方法.只需复制以下代码)@H_403_2@

@H_403_2@

  1. public boolean onKeyDown(int keyCode,KeyEvent event) {
  2. if(keyCode == KeyEvent.KEYCODE_BACK)
  3. {
  4. moveTaskToBack(true);
  5. return true;
  6. }
  7. // your other related codes
  8. }

猜你在找的Android相关文章