Italian Biometric Manager

Fulvio75

Well-Known Member
Licensed User
ciao ho aggiunto il codice come nell'esempio di BiometricManager alla mia app, lunica differenza è che non è una B4XPages e compilando esce questo:
se installo l'app di esempio però funziona quindi non è il telefono ma qualche cosa di ciccato nella mia app, manifest modificato, libreria appcompat aggiunta, codice copiato ma non è quello che da l'errore, attributi in main aggiunti

B4A Versione: 12.20
Analisi del Codice. (0.15s)
Java Versione: 11
Building folders structure. (1.59s)
Compilazione del codice. (0.15s)
Compilazione del codice di layouts (0.04s)
Organizzazione Librerie. (0.02s)
(AndroidX SDK)
Compilazione risorse (0.09s)
Collegamento risorse (0.98s)
Compilazione del codice Java prodotto. (5.20s)
Ricerca librerie che necessitano di essere "dexed". (0.01s)
Dex code (4.63s)
Dex merge Error
Error: Cannot fit requested classes in a single dex file (# fields: 66475 > 65536). Try supplying a main-dex list
Compilation failed
Exception in thread "main" java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, position: null
at com.android.tools.r8.internal.vj.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:98)
at com.android.tools.r8.D8.main(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:4)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, position: null
at Version.fakeStackEntry(Version_3.3.20-dev+aosp1.java:0)
at com.android.tools.r8.internal.vj.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:75)
at com.android.tools.r8.internal.vj.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:28)
at com.android.tools.r8.internal.vj.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:27)
at com.android.tools.r8.internal.vj.b(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:2)
at com.android.tools.r8.D8.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:22)
at com.android.tools.r8.D8.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:17)
at com.android.tools.r8.internal.vj.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:85)
... 1 more
Caused by: com.android.tools.r8.internal.f: Cannot fit requested classes in a single dex file (# fields: 66475 > 65536)
at com.android.tools.r8.internal.YS.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:14)
at com.android.tools.r8.internal.YS.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:22)
at com.android.tools.r8.internal.v20.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:565)
at com.android.tools.r8.internal.r20.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:7)
at com.android.tools.r8.internal.D2.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:335)
at com.android.tools.r8.internal.D2.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:412)
at com.android.tools.r8.D8.d(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:794)
at com.android.tools.r8.D8.c(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:1)
at com.android.tools.r8.internal.vj.a(R8_3.3.20-dev+aosp1_dd4c01853fd917497aef2d09abff533f0d25b062517ea74449d40e1778a34753:24)
... 5 more
 

LucaMs

Expert
Licensed User
Longtime User
Ora lo compila e parte però si impasta all'avvio, la gestione del Biometric non la faccio in Main ma in una activity chiamata MainMenu, è per questo motivo?
Eh, non lo so; non credo che sul mio "antico" smartphone funzionerebbe (forse feci delle prove, millenni fa)

Ma perché ti ostini a non creare progetti B4XPages? Ci sono SOLO vantaggi (e non sono difficili come forse pensi, per niente)
 

Fulvio75

Well-Known Member
Licensed User
Eh, non lo so; non credo che sul mio "antico" smartphone funzionerebbe (forse feci delle prove, millenni fa)

Ma perché ti ostini a non creare progetti B4XPages? Ci sono SOLO vantaggi (e non sono difficili come forse penso, per niente)
Hai ragione, ma sono tutti progetti vecchi che ho fatto un po di tempo fa, ora vedo di fare delle prove, grazie sicuramente mi hai risolto il problema iniziale non di poco conto ???
 

Fulvio75

Well-Known Member
Licensed User
Constructor not found..

B4X:
Public Sub Show (Msg As String)
    
    Dim PromptInfoBuilder As JavaObject
    Dim Ev As JavaObject
    Dim Prompt As JavaObject

    PromptInfoBuilder.InitializeNewInstance("androidx.biometric.BiometricPrompt$PromptInfo$Builder", Null)
    PromptInfoBuilder.RunMethod("setTitle", Array(Msg))
    PromptInfoBuilder.RunMethod("setNegativeButtonText", Array("Cancel"))
    PromptInfoBuilder.RunMethod("setDeviceCredentialAllowed", Array(True))

    Ev.InitializeNewInstance(Application.PackageName & ".biometricmanager.BiometricPromptAuthentication", Array(Me))

[B]Quì >> Prompt.InitializeNewInstance("androidx.biometric.BiometricPrompt", Array(ctxt, Executor, Ev))[/B]
    Prompt.RunMethod("authenticate", Array(PromptInfoBuilder.RunMethod("build", Null)))
    
End Sub
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…