如何在Android中使用NFC(Android Beam)接收文件
我能够使用NFC发送文件,基于。但是我无法处理接收器部分 我跟踪接收端,得到了一个通知,即接收端的Beam文件传输成功。当用户单击此通知时,我希望我的应用程序应该启动 我的接收活动具有以下意图筛选器:如何在Android中使用NFC(Android Beam)接收文件,android,nfc,intentfilter,nfc-p2p,android-beam,Android,Nfc,Intentfilter,Nfc P2p,Android Beam,我能够使用NFC发送文件,基于。但是我无法处理接收器部分 我跟踪接收端,得到了一个通知,即接收端的Beam文件传输成功。当用户单击此通知时,我希望我的应用程序应该启动 我的接收活动具有以下意图筛选器: <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> &
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
<data android:scheme="file" />
</intent-filter>
但即使文件传输完成,我的接收活动也从未被调用。如何在我的应用程序中接收文件?来自:
注意:对于Android Beam文件传输,如果第一个传入文件的MIME类型为“audio/*”、“image/*”或“video/*”,表示该文件与媒体相关,则在ACTION\u视图中会收到一个内容URI
由于
过滤器的处理方式(请参见和),您的意图过滤器转换为
- 意图操作视图和MIME类型“image/*”和URI与方案“file:”、或
- 意向动作视图和MIME类型“video/*”和带有模式“file:”的URI
因此,它必须匹配数据元素中给定的任何MIME类型和任何URI
因此,您的意图过滤器永远无法匹配,因为“image/*”MIME类型和“video/*”MIME类型将生成内容URI,而不是“file:”URI。因此,跳过URI过滤器部分或将过滤后的方案更改为“内容”都可以做到这一点
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
</intent-filter>
或
为什么您认为您的活动必须开始?NFC没有任何意图。当用户单击光束传输成功的通知时,我的应用程序应该启动。这就是我要做的。
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
<data android:scheme="content" />
</intent-filter>