【发布时间】:2021-10-11 07:39:36
【问题描述】:
我收到来自 Crashlytics 的未知崩溃,该崩溃是在 NfcAdapter 中调用 enableReaderMode() 时触发的
Caused by java.lang.SecurityException: Permission Denial: isUidActive from pid=5xx1, uid=1xx7 requires android.permission.PACKAGE_USAGE_STATS
at android.os.Parcel.createExceptionOrNull(Parcel.java:2387)
at android.os.Parcel.createException(Parcel.java:2371)
at android.os.Parcel.readException(Parcel.java:2354)
at android.os.Parcel.readException(Parcel.java:2296)
at android.nfc.INfcAdapter$Stub$Proxy.setReaderMode(INfcAdapter.java:1027)
at android.nfc.NfcActivityManager.setReaderMode(NfcActivityManager.java:242)
at android.nfc.NfcActivityManager.enableReaderMode(NfcActivityManager.java:218)
at android.nfc.NfcAdapter.enableReaderMode(NfcAdapter.java:1580)
我在 Activity onResume() 中调用了 NfcAdapter.enableReaderMode(),如下所示
我也添加了<uses-permission android:name="android.permission.NFC" /> 权限
是否需要任何其他权限来防止这些崩溃的发生?
或者在致电NfcAdapter.enableReaderMode() 之前有什么需要检查的吗?
我也看到有人在here 发过关于这些问题的帖子,但似乎还没有答案
【问题讨论】: