监听Home键点击.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.example.homedemo;
  2. import android.app.Service;
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.content.IntentFilter;
  7. import android.content.SharedPreferences.Editor;
  8. import android.os.IBinder;
  9. import android.widget.Toast;
  10. public class HomeService extends Service{
  11. private HomeReceiver homeReceiver;
  12. private Intent newActivity;
  13. @Override
  14. public IBinder onBind(Intent intent) {
  15. // TODO Auto-generated method stub
  16. return null;
  17. }
  18. @Override
  19. public void onCreate() {
  20. super.onCreate();
  21. homeReceiver = new HomeReceiver();
  22. IntentFilter homeFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
  23. registerReceiver(homeReceiver, homeFilter);
  24. }
  25. /**
  26. * ²¶»ñhome¼ü
  27. * @author Administrator
  28. *
  29. */
  30. public class HomeReceiver extends BroadcastReceiver{
  31. final String SYSTEM_DIALOG_REASON_KEY = "reason";
  32. final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
  33. @Override
  34. public void onReceive(Context context, Intent intent) {
  35. String action = intent.getAction();
  36. if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
  37. String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
  38. if (reason != null && reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) {
  39. Toast.makeText(getApplicationContext(), "²¶»ñµ½Home¼ü", 0).show();
  40. return;
  41. }
  42. }
  43. }
  44. }
  45. @Override
  46. public void onDestroy() {
  47. unregisterReceiver(homeReceiver);
  48. homeReceiver = null;
  49. super.onDestroy();
  50. }
  51. }