ea891405d27900cb4d7a76eb52ac7f0dbdeed323.svn-base 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package eVVM.apk.ui.home;
  2. import android.app.PendingIntent;
  3. import android.content.Intent;
  4. import android.nfc.NfcAdapter;
  5. import eVVM.apk.mvp.MvpActivity;
  6. import eVVM.apk.ui.home.uploadChip.UploadChipPresenter;
  7. public class BaseNfcActivity extends MvpActivity<UploadChipPresenter> {
  8. protected NfcAdapter mNfcAdapter;
  9. private PendingIntent mPendingIntent;
  10. /**
  11. * onCreat->onStart->onResume->onPause->onStop->onDestroy
  12. * 启动Activity,界面可见时.
  13. */
  14. @Override
  15. protected void onStart() {
  16. super.onStart();
  17. //此处adapter需要重新获取,否则无法获取message
  18. mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
  19. //一旦截获NFC消息,就会通过PendingIntent调用窗口
  20. mPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()), 0);
  21. }
  22. /**
  23. * 获得焦点,按钮可以点击
  24. */
  25. @Override
  26. public void onResume() {
  27. super.onResume();
  28. //设置处理优于所有其他NFC的处理
  29. if (mNfcAdapter != null)
  30. mNfcAdapter.enableForegroundDispatch(this, mPendingIntent, null, null);
  31. }
  32. /**
  33. * 暂停Activity,界面获取焦点,按钮可以点击
  34. */
  35. @Override
  36. public void onPause() {
  37. super.onPause();
  38. //恢复默认状态
  39. if (mNfcAdapter != null)
  40. mNfcAdapter.disableForegroundDispatch(this);
  41. }
  42. @Override
  43. protected int getLayoutId() {
  44. return 0;
  45. }
  46. @Override
  47. protected int getTitleId() {
  48. return 0;
  49. }
  50. @Override
  51. protected void initView() {
  52. }
  53. @Override
  54. protected void initData() {
  55. }
  56. @Override
  57. public void onPointerCaptureChanged(boolean hasCapture) {
  58. }
  59. @Override
  60. protected UploadChipPresenter createPresenter() {
  61. return new UploadChipPresenter();
  62. }
  63. }