android– 当读取NDEF标签时,它在“NFC服务”而不是应用程序中显示的内容

android– 当读取NDEF标签时,它在“NFC服务”而不是应用程序中显示的内容,第1张

概述我正在尝试使用ADT从Android应用程序中读取NDEF标记.代码与this教程中的代码完全相同.它正确显示的内容,但它不是打开我的应用程序,它显示在我的应用程序(相同的用户界面)的克隆,它被称为“NFC服务”与蓝牙图标.问题是:如果我已经打开了应用程序,那么在阅读之后,它会克隆自己以及

我正在尝试使用ADT从Android应用程序中读取NDEF标记.

代码与this教程中的代码完全相同.

它正确显示的内容,但它不是打开我的应用程序,它显示在我的应用程序(相同的用户界面)的克隆,它被称为“NFC服务”与蓝牙图标.

问题是:如果我已经打开了应用程序,那么在阅读之后,它会克隆自己以及我在“NFC服务”克隆上完成阅读后所做的一切.

这是多任务菜单显示的内容:

其中“Servizio NFC”在“NFC服务”中的翻译

解决方法:

我无法评论应用程序在历史记录中显示为带有蓝牙图标的“NFC服务”的问题 – 这显然看起来像一个错误.

但是,如果您希望自己的应用在前景中接收NFC事件,我强烈建议您使用foreground dispatch或reader mode API(阅读器模式是AndroID 4.4中的新功能).

为了使用前台调度,您将创建一个挂起的意图,如下所示:

PendingIntent pendingIntent = PendingIntent.getActivity(    this,    0,    new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_top),    0);

然后,在您的activity的onResume()方法中,您将启用前景调度,如下所示:

NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);nfcAdapter.enableForegrounddispatch(this, pendingIntent, null, null);

请注意,如果您不希望活动接收每个发现的标记,则可以定义意图过滤器或标记技术列表,并将它们传递给enableForegrounddispatch()方法.

然后,您将收到通过活动的onNewIntent()方法通知您有关已发现标记的意图:

public voID onNewIntent(Intent intent) {    ...}

请记住,您必须在活动的onPause()方法中禁用前台调度:

NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);nfcAdapter.disableForegrounddispatch(this);
总结

以上是内存溢出为你收集整理的android – 当读取NDEF标签时,它在“NFC服务”而不是应用程序中显示的内容全部内容,希望文章能够帮你解决android – 当读取NDEF标签时,它在“NFC服务”而不是应用程序中显示的内容所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1100943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存