e70d823f239630d37523a9beb5402f5d8d899d8d.svn-base 1.9 KB

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