【问题标题】:How to close my App when an NFC tag is detected检测到 NFC 标签时如何关闭我的应用程序
【发布时间】:2013-12-06 02:55:27
【问题描述】:

我正在开发一个闹钟应用程序,它允许您仅在应用程序检测到 NFC 标签时关闭闹钟。我相信我使用的标签没有写入任何内容(当手机检测到 NFC 标签时,它会显示“空标签”)。这是我的代码,想知道您是否可以提供帮助! Android 清单:

    <intent-filter>
    <action android:name="android.nfc.action.TAG_DISCOVERED" />
</intent-filter>

代码:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
        mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Wake Log");
        mWakeLock.acquire();
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN |
                WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON,
                WindowManager.LayoutParams.FLAG_FULLSCREEN |
                WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        setContentView(R.layout.normal_alarm);

        if (NfcAdapter.ACTION_TAG_DISCOVERED.isEmpty() == false){
            NewAlarm.time = "";
            NewAlarm.date = "";
            mMediaPlayer.stop();
            finish();
        }
        playSound(this, getAlarmUri());

【问题讨论】:

    标签: java android nfc alarmmanager alarm


    【解决方案1】:

    在应用的清单中使用TAG_DISCOVERED Intent 是一种回退机制,只有在没有其他应用注册更合适的 NFC Intent 时才会触发。因此,除非您为 Android 2.3 开发(其中TAG_DISCOVERED 是主要使用的 NFC 意图),否则您应该避免将其用作唯一与 NFC 相关的意图过滤器。

    但是,在您的情况下(据我了解,该应用程序已经打开)您可以完全跳过清单中的意图过滤。当您的应用在前台时,您应该注册foreground tag dispatch system。

    还要注意

    if (NfcAdapter.ACTION_TAG_DISCOVERED.isEmpty() == false){
    

    实际上没有意义,因为NfcAdapter.ACTION_TAG_DISCOVERED 是一个始终包含值android.nfc.action.TAG_DISCOVERED 的字符串常量。所以它永远不会是空的。

    【讨论】:

      猜你喜欢
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 2012-05-10
      相关资源
      最近更新 更多