2016-11-14 52 views
1

我在我的應用程序中使用cordova fingerprint auth plugin,但應用程序崩潰並在logcat中顯示以下錯誤。在使用cordova-plugin-android-fingerprint-auth時MobileFirst 7.1-based應用程序崩潰

十一月11日至14日:12:47.671:W /插件管理(30565):THREAD警告:EXEC() 調用FingerprintAuth.authenticate阻塞主線程用於爲33ms。 插件應該使用CordovaInterface.getThreadPool()。

11月11日至14日:12:47.712:d/FingerprintAuthDialog(30565):disableBackup: 假11月11日至14日:12:47.713:W /的ResourceType(30565):無包標識符 獲得用於資源數值時0x00000000 11-14 11/12:47.713:D/AndroidRuntime(30565):關閉虛擬機11-14 11:12:47.716:E/AndroidRuntime(30565):致命例外:主11-14 11:12: 47.716:E/AndroidRuntime(30565):進程:com.fingerPrint,PID: 30565 11-14 11:12:47.716:E/AndroidRuntime(30565): android.content.res.Resources $ NotFoundException:資源ID#0x0 11-14 11:12:47.716:E/AndroidRuntime(30565):在 android.content.res.Resources.g etValue(Resources.java:1351)11-14 11:12:47.716:E/AndroidRuntime(30565):at android.content.res.Resources.loadXmlResourceParser(Resources.java:2777) 11-14 11:12 :47.716:E/AndroidRuntime(30565):在 android.content.res.Resources.getLayout(Resources.java:1165)11-14 11:12:47.716:E/AndroidRuntime(30565):在 android.view .LayoutInflater.inflate(LayoutInflater.java:421)11-14 11:12:47.716:E/AndroidRuntime(30565):在 com.fingerPrint.FingerprintAuthenticationDialogFragment.onCreateView(FingerprintAuthenticationDialogFragment.java:87) 11-14 11: 12:47.716:E/AndroidRuntime(30565):at android.app.Fragment.performCreateView(Fragment.java:2220)11-14 1 1:12:47.716:E/AndroidRuntime(30565):at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973) 11-14 11:12:47.716:E/AndroidRuntime(30565):at android。 app.FragmentManagerImpl.moveToState(FragmentManager.java:1148) 11-14 11:12:47.716:E/AndroidRuntime(30565):at android.app.BackStackRecord.run(BackStackRecord.java:793)11-14 11 :12:47.716:E/AndroidRuntime(30565):at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1537) 11-14 11:12:47.716:E/AndroidRuntime(30565):at android.app .FragmentManagerImpl $ 1.run(FragmentManager.java:482)11-14 11:12:47.716:E/AndroidRuntime(30565):at android.os.Handler.handleC allback(Handler.java:746)11-14 11:12:47.716:E/AndroidRuntime(30565):at android.os.Handler.dispatchMessage(Handler.java:95)11-14 11:12:47.716 :E/AndroidRuntime(30565):at android.os.Looper.loop(Looper.java:148)11-14 11:12:47.716: E/AndroidRuntime(30565):at android.app.ActivityThread.main (ActivityThread.java:5443)11-14 11:12:47.716:E/AndroidRuntime(30565):at java.lang.reflect.Method.invoke(Native Method)11-14 11:12:47.716: E/AndroidRuntime(30565):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728) 11-14 11:12:47.716:E/AndroidRuntime(30565):at com.android .internal.os.Z ygoteInit.main(ZygoteInit.java:618)11-14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565): Logger $ UncaughtExceptionHandler.uncaughtException in Logger。java:471 ::未捕獲異常11-14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565): android.content.res.Resources $ NotFoundException:資源ID#0x0 11 -14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.content.res.Resources.getValue(Resources.java:1351)11-14 11:12: 47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.content.res.Resources.loadXmlResourceParser(Resources.java:2777) 11-14 11:12:47.718: E/com .worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.content.res.Resources.getLayout(Resou 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.view.LayoutInflater.inflate(LayoutInflater.java:421)11- 14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler的(30565):在 com.fingerPrint.FingerprintAuthenticationDialogFragment.onCreateView(FingerprintAuthenticationDialogFragment.java:87) 11月11日至14日:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.app.Fragment.performCreateView(Fragment.java:2220)11-14 11:12:47.718: E/com.worklight.common .Logger $ UncaughtExceptionHandler(30565):at android.app.Fragme ntManagerImpl.moveToState(FragmentManager.java:973) 11-14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.app.FragmentManagerImpl.moveToState(FragmentManager.java: 1148) 11-14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler的(30565):在 android.app.BackStackRecord.run(BackStackRecord.java:793)11-14 11: 12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1537) 11-14 11:12:47.718: E/com .worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.app.F ragmentManagerImpl $ 1.run(FragmentManager.java:482)11-14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.os.Handler.handleCallback(Handler.java :746)11-14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.os.Handler.dispatchMessage(Handler.java:95)11-14 11 :12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.os.Looper.loop(Looper.java:148)11-14 11:12:47.718: E/com .worklight.common.Logger $ UncaughtExceptionHandler(30565):at android.app.ActivityThread.main(ActivityThread.java:5443)11-14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at java.lang.reflect.Method.invoke(Native Method)11-14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler(30565):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728) 11-14 11:12:47.718: E/com.worklight.common.Logger $ UncaughtExceptionHandler (30565):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)11-14 11:12:47.723:D/com.worklight.wlclient.api.WLLifecycleHelper(30565): WLLifecycleHelper中的WLLifecycleHelper.logAppSession。Java的:109 ::試圖 記錄的應用程序崩潰沒有開始時間戳

步驟如下:

  1. 添加插件FingerprintAuth.javaFingerprintAuthenticationDialogFragment的.javaFingerprintUiHelper.java文件分解成android/src/com/文件夾
  2. 加入到個config.xml中

    <feature name="FingerprintAuth"> 
        <param name="android-package" value="com.fingerPrint.FingerprintAuth"/> 
    </feature> 
    
  3. 新增FingerprintAuth.js普通/ JS文件夾

  4. 每次部署到設備之前加入cordova_plugins.js以下

    { "id": "FingerprintAuth", "file": "../js/FingerprintAuth.js", "clobbers": [ "FingerprintAuth" ] } 
    
加入

5.To檢查指紋驗證下面的代碼在main.js文件

FingerprintAuth.isAvailable(function(result) { 
     if (result.isAvailable) { 
       var client_id = "Your client ID"; 
       var client_secret = "A very secret client secret (once per device)"; 
       if(result.hasEnrolledFingerprints){ 
         FingerprintAuth.show({ 
           clientId: client_id, 
           clientSecret: client_secret 
         }, function (result) { 
           if (result.withFingerprint) { 


              alert("Authentication Success"); 


              //$location.path("singin"); 

           } else if (result.withPassword) { 
             alert("Authenticated with backup password"); 
           } 
         }, function(error) { 
           console.log(error); // "Fingerprint authentication not available" 
         }); 
       }else{ 
         alert("Fingerprint auth available, but no fingerprint registered on the device"); 
       } 
     } 
}, function(message) { 
     alert("Cannot detect fingerprint device : "+ message); 
}); 
+0

這是一個使用MobileFirst CLI 7.1創建的Cordova應用程序,還是在MobileFirst Studio 7.1中創建的混合應用程序? –

+0

在MobileFirst Studio 7.1中創建的混合應用程序,剛剛添加了cordova-plugin – Swamy

+0

您是如何添加插件的?混合應用程序並不真的支持第三方cordova插件。 –

回答

0

我不知道這是否會在一個混合的應用程序的所有工作。

但請注意,根據插件頁面,此插件需要最近才添加的Android API級別23。請首先確保升級到MobileFirst Platform Foundation 7.1的最新iFix