san*_*vys 7 android nfc intentfilter ndef android-applicationrecord
我正在研究NFC应用程序.要启动我的应用程序,我正在使用带有AAR NDEF记录的NDEF标记.
这很好用.但现在我想直接用app阅读标签内容.我怎样才能做到这一点?
(它已经有效,当我从手机中取出标签并再次触摸它时,但我想取消这一步.)
表现:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nfctagscanner.mobileapps.lt.nfctagscanner" >
<uses-feature android:name="android.hardware.nfc" android:required="true"/>
<uses-permission android:name="android.permission.NFC" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".NFCScanActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="nfctagscanner.mobileapps.lt.nfctagscanner" android:host="ext"
android:pathPrefix="/android.com:pkg" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
而我只想获得NDEF_DISCOVERED意图.但我总是得到action.MAIN/category.LAUNCHER意图与我的调试器.
任何帮助将不胜感激.我基于此做了我的工作:Android/NFC:在没有新Intent的情况下在onCreate()中获取标签
Mic*_*and 16
如果您希望应用程序由您的标记启动并希望接收已解析的NDEF消息,则您的标记应包含以下内容:
一旦您准备好包含正确NDEF消息的标记,就必须为应该接收标记发现事件的活动和触发它的NDEF消息创建适当的intent过滤器:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用自定义NFC论坛外部类型:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="vnd.android.nfc"
android:host="ext"
android:pathPrefix="/yourdomain.com:yourtypename"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
如果您的应用程序并不能有一个NDEF_DISCOVERED意图过滤器的匹配第一个与代码中NDEF消息的记录 和您的标签包含一个Android应用程序记录,第一个活动中您的清单有一个意图过滤器声明android.intent.action.MAIN,并android.intent.category.LAUNCHER会启动.作为该活动,因此,不声明期待的NFC意图将通过android.intent.action.MAIN(它不包含NDEF消息/标签手柄).
| 归档时间: |
|
| 查看次数: |
4614 次 |
| 最近记录: |