由* INTERACT_ACROSS_USERS *

时间:2018-06-22 17:49:44

标签: android permissions fingerprint

我在我的应用程序中应用了指纹集成,以使用指纹登录。

向公众发布该应用程序后,我看到了由此造成的Fabric Crashlytics生成的数百个崩溃报告,如下所示:

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxxxx/com.xxx.xxxxx.LoginActivity}: java.lang.SecurityException: Permission Denial: getCurrentUser() from pid=26824, uid=10144 requires android.permission.INTERACT_ACROSS_USERS
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
   at android.app.ActivityThread.access$1100(ActivityThread.java:229)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:148)
   at android.app.ActivityThread.main(ActivityThread.java:7406)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

奇怪的是,所有崩溃仅发生在三星设备上!

Galaxy J7 57%

SM-J327P 9%

Galaxy A5 7%

SM-G532F 7%

Galaxy J5 1%

Galaxy S6 Edge 1%

清单文件已具有以下权限:

<permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>

是否有任何有关如何跟踪/解决此问题的建议?我手边没有上述任何设备:/

谢谢。

1 个答案:

答案 0 :(得分:4)

似乎我的问题与此重复: Android Fingerprints: hasEnrolledFingerprints triggers exception on some Samsungs

信用至: @ david-medenjak

===============

我在运行Android 6.0.1的三星Galaxy S6上遇到了同样的问题

问题是由致电引起的

fingerprintManager.hasEnrolledFingerprints()

我通过添加以下电话检查硬件来修复它:

fingerprintManager.isHardwareDetected()
    && mFingerprintManager.hasEnrolledFingerprints()

在没有可用硬件的情况下检查指纹似乎在某些设备上导致此异常。

===============

谢谢