Alla fine di Activity_Create ho :
E questa è la sub sopra menzionata :
Premettendo che non utilizzo le B4XPages i problemi sono essenzialmente due
1) in modalità debug tutto è ok
2) in modalità release appare, in certe condizioni, un errore (qui riportato sinteticissimamente)
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.location.LocationManager.isProviderEnabled(java.lang.String)' on a null object reference
Inoltre il log riporta unicamente :
Sub CheckPermissions XXX=1
mentre dovrebbe riportare, se non erro :
Sub CheckPermissions XXX=1
Sub CheckPermissions XXX=2
Sub CheckPermissions XXX=3
ecc. ecc.
Aggiungo che compilando per la prima volta l'app appaiono solo 2 dei messaggi di Google che chiedono di autorizzare l'installazione dell'app e precisamente quello che chiede di "accedere alla posizione" e quello che chiede di "accedere ai contatti".
Avviando l'app per la seconda volta appare l'errore.
Ricompilando nuovamente l'app l'errore non compare più.
E' forse sbagliata la posizione in cui richiamo la sub CheckPermissions ?
Dove agire per rimediare al malfunzionamento ?
Grazie per l'attenzione.
B4X:
'' ---
LogColor("Permessi ...",Colors.Blue)
Wait For (CheckPermissions) Complete (Success As Boolean)
If Success = False Then
Msgbox2Async("Bisogna concedere alcuni permessi per poter installare l'app", "INSTALLAZIONE INTERROTTA", "OK", "", "", Null, False)
Wait For Msgbox_Result (Result As Int)
ExitApplication
End If
End Sub
E questa è la sub sopra menzionata :
B4X:
Sub CheckPermissions As ResumableSub
Dim xxx As Int
xxx=0
For Each permission As String In Array(rp.PERMISSION_READ_CONTACTS,rp.PERMISSION_ACCESS_FINE_LOCATION,rp.PERMISSION_WRITE_EXTERNAL_STORAGE,rp.PERMISSION_CAMERA,rp.PERMISSION_RECORD_AUDIO,rp.PERMISSION_RECEIVE_SMS,rp.PERMISSION_SEND_SMS)
xxx=xxx+1
Log("Sub CheckPermissions XXX=" & xxx)
rp.CheckAndRequest(permission)
' Wait For Activity_Permission
Wait For Activity_PermissionResult (permission As String, Result As Boolean)
If Result = False Then Return False
Next
Return True
End Sub
Premettendo che non utilizzo le B4XPages i problemi sono essenzialmente due
1) in modalità debug tutto è ok
2) in modalità release appare, in certe condizioni, un errore (qui riportato sinteticissimamente)
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.location.LocationManager.isProviderEnabled(java.lang.String)' on a null object reference
Inoltre il log riporta unicamente :
Sub CheckPermissions XXX=1
mentre dovrebbe riportare, se non erro :
Sub CheckPermissions XXX=1
Sub CheckPermissions XXX=2
Sub CheckPermissions XXX=3
ecc. ecc.
Aggiungo che compilando per la prima volta l'app appaiono solo 2 dei messaggi di Google che chiedono di autorizzare l'installazione dell'app e precisamente quello che chiede di "accedere alla posizione" e quello che chiede di "accedere ai contatti".
Avviando l'app per la seconda volta appare l'errore.
Ricompilando nuovamente l'app l'errore non compare più.
E' forse sbagliata la posizione in cui richiamo la sub CheckPermissions ?
Dove agire per rimediare al malfunzionamento ?
Grazie per l'attenzione.