我正在为我的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扫描仪问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)