You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android NFC默认应用问题:启动器未显示及仅响应URL标签

解决你的NFC应用问题

嘿,我来帮你搞定这两个NFC相关的问题!咱们逐个分析解决:

问题1:应用未在启动器列表显示

你的代码里犯了一个常见错误——把MAIN/LAUNCHER的启动意图和NDEF_DISCOVERED的NFC意图放在了**同一个<intent-filter>**里。Android的意图过滤器是“与”逻辑,系统找不到同时满足这两类条件的触发场景,所以启动器就不会显示你的应用。

解决方法很简单:把这两组意图拆分成两个独立的<intent-filter>,这样启动器能识别到MAIN/LAUNCHER,NFC触发也能正常响应。

问题2:仅在URL类型NFC标签时打开应用

你当前的意图过滤器用了<data android:mimeType="text/plain" />,这会响应所有文本类型的NDEF标签。而URL类型的NFC标签通常存储的是Uri格式的NDEF记录,对应的系统意图会携带http/https这类Scheme的Data。

我们需要修改<intent-filter>里的<data>配置,只匹配URL相关的Scheme,这样应用就只会在扫描到URL标签时被唤起。

修改后的完整代码

<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" android:required="true" />

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/ic_launcher_round" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme">
    
    <activity android:name=".MainActivity">
        <!-- 启动器入口的意图过滤器 -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <!-- 仅响应URL类型NDEF标签的意图过滤器 -->
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <!-- 匹配http和https开头的URL标签 -->
            <data android:scheme="http" />
            <data android:scheme="https" />
        </intent-filter>

        <!-- 保留TECH_DISCOVERED的元数据(如果需要的话) -->
        <meta-data 
            android:name="android.nfc.action.TECH_DISCOVERED" 
            android:resource="@xml/nfc_tech_filter" />
    </activity>
</application>

额外说明

  • 如果你的URL标签使用了其他Scheme(比如ftp、mailto),可以在<intent-filter>里添加对应的<data android:scheme="xxx" />。
  • 拆分意图过滤器后,启动器会正常显示你的应用,同时只有扫描到URL类型的NFC标签时,系统才会唤起你的应用。

内容的提问来源于stack exchange,提问作者Dim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:55:21