ec536a2c0c9a8728fc7706a1cbb5afd4d745c7eb.svn-base 2.2 KB

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