Java-Android NFC扫描仪问题

Java-Android NFC扫描仪问题,第1张

概述我正在为我的Android应用程序开发NFC扫描功能.它可以在我的所有设备上运行,但在运行Android4.4.2的SamsungS4上除外.当我扫描NFC标签时,它将引发以下错误:03-0417:09:34.570:W/ActivityManager(820):PermissionDenial:startingIntent{act=android.nfc.action.NDEF_DISC

我正在为我的Android应用程序开发NFC扫描功能.它可以在我的所有设备上运行,但在运行AndroID 4.4.2的Samsung S4上除外.

当我扫描NFC标签时,它将引发以下错误:

03-04 17:09:34.570: W/ActivityManager(820): Permission Denial: starting Intent { act=androID.nfc.action.NDEF_disCOVERED dat=vnd.androID.nfc://ext/androID.com:pkg cmp=com.mobile.planning/.NfcDeBUGActivity (has extras) } from null (pID=-1, uID=10200) not exported from uID 1020203-04 17:09:34.570: W/ActivityManager(820): Unable to send startActivity intent03-04 17:09:34.570: W/ActivityManager(820): java.lang.SecurityException: Permission Denial: starting Intent { act=androID.nfc.action.NDEF_disCOVERED dat=vnd.androID.nfc://ext/androID.com:pkg cmp=com.mobile.planning/.NfcDeBUGActivity (has extras) } from null (pID=-1, uID=10200) not exported from uID 1020203-04 17:09:34.570: W/ActivityManager(820):     at com.androID.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1669)03-04 17:09:34.570: W/ActivityManager(820):     at com.androID.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:977)03-04 17:09:34.570: W/ActivityManager(820):     at com.androID.server.am.ActivityManagerService.startActivityInPackage(ActivityManagerService.java:4182)03-04 17:09:34.570: W/ActivityManager(820):     at com.androID.server.am.PendingIntentRecord.sendInner(PendingIntentRecord.java:252)03-04 17:09:34.570: W/ActivityManager(820):     at com.androID.server.am.PendingIntentRecord.send(PendingIntentRecord.java:192)03-04 17:09:34.570: W/ActivityManager(820):     at androID.content.IIntentSender$Stub.onTransact(IIntentSender.java:64)03-04 17:09:34.570: W/ActivityManager(820):     at androID.os.Binder.execTransact(Binder.java:404)03-04 17:09:34.570: W/ActivityManager(820):     at dalvik.system.NativeStart.run(Native Method)

显然,这似乎是一个权限错误.真的很奇怪,因为它可以在我的LG L65和三星ACE 4上使用.

在我的Manifest.xml中,添加了以下几行:

<uses-permission androID:name="androID.permission.NFC"/><uses-feature androID:name="androID.harDWare.nfc" />

活动已这样声明:

<activity        androID:name=".NfcDeBUGActivity"        androID:screenorIEntation="portrait"        androID:launchMode="singletop"/>

NFC功能已在每台设备上启用,并且可与您可以在Play商店中轻松找到的应用一起使用.

您是否知道为什么会触发此错误?

谢谢你的帮助.

解决方法:

如错误所示,您的活动未导出.默认情况下,只有具有< intent-filter>而没有活动的活动才被导出.

现在,为什么不能将其导出,我不能说,因为我或者已经希望您有一些< intent-filter>或在NFC设置中使用PendingIntent.后者允许其他进程开始您的活动,即使该活动未导出.

解决方法是将androID:exported =“ true”添加到< activity>清单中的元素.但是,这使得该活动可以公开访问,因此您需要考虑到这一点.

总结

以上是内存溢出为你收集整理的Java-Android NFC扫描仪问题全部内容,希望文章能够帮你解决Java-Android NFC扫描仪问题所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存