Italian help rp.CheckAndRequest non visualizza la finestra dei permessi

Xfood

Expert
Licensed User
buongiorno a tutti,
sto uscendo matto,
nella mia piccola app sto richiedento i permessi in questo modo, ma non mi fa vedere la finestra dei permessi,
qualche idea?
B4X:
Sub Activity_Create(FirstTime As Boolean)
    
'    If FirstTime Then
    'Do not forget to load the layout file created with the visual designer. For example:
    Activity.LoadLayout("lytmenu")
    InitMenu
End Sub

Sub InitMenu
    '=================================================================================
    For Each permission As String In Array(rp.PERMISSION_READ_EXTERNAL_STORAGE,rp.PERMISSION_CAMERA,rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
        rp.CheckAndRequest(permission)
        Wait For Activity_PermissionResult (permission As String, Result As Boolean)
        If Result = False Then
            ToastMessageShow("No permission!", True)
            Activity.Finish
            Return
        End If
    Next
    rp.GetSafeDirDefaultExternal("")
        
    If File.Exists(File.DirDefaultExternal,"Db_ParPDV.db")=False Then
        File.Copy(File.DirAssets,"Db_ParPDV.db",File.DirDefaultExternal,"Db_ParPDV.db")
        Sleep(100)
    End If
End Sub
tra l'altro se do i permessi a mano sull'App
questa funzione mi copia il file a Zero byte ? Perche?
B4X:
 File.Copy(File.DirAssets,"Db_ParPDV.db",File.DirDefaultExternal,"Db_ParPDV.db")

allego anche il file manifest
B4X:
'This code will be applied to the manifest file during compilation.
'You do not need to modify it in most cases.
'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136
AddManifestText(
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30"/>
<supports-screens android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
CreateResourceFromFile(Macro, Themes.DarkTheme)
'gestione camera vision cameraex
AddApplicationText(<meta-data
    android:name="com.google.android.gms.vision.DEPENDENCIES"
    android:value="barcode,,face" />)
'===============================
AddManifestText(<uses-feature android:name="android.hardware.telephony" android:required="false" />)
AddManifestText(<uses-feature android:name="android.hardware.camera" android:required="false" />)
AddManifestText(<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />)
AddManifestText(<uses-feature android:name="android.hardware.camera.flash" android:required="false" />)
AddPermission("android.permission.VIBRATE")
AddPermission("android.permission.CAMERA")
AddPermission("android.permission.FLASHLIGHT")
'
AddPermission("android.permission.READ_EXTERNAL_STORAGE")
AddPermission("android.permission.WRITE_EXTERNAL_STORAGE")
SetApplicationAttribute(android:requestLegacyExternalStorage, true)    
'End of default text.
 

Xfood

Expert
Licensed User
Mi è capitato e... non ricordo il motivo (oltretutto sono sveglio da poco 😄), ma un paio di cosette, intanto:

1 - A costo di rompere le scatole... meglio usare le B4XPages
2 -

e poi non usi la Dir che ti restituisce ma, sbagliando, usi File.DirDefaultExternal.
e' un vecchio progetto che sto delle modifiche,
e non riesco a capire il problema , sono gia 3 giorni che giro a vuoto.... :-(
 

Xfood

Expert
Licensed User
trovato il problema, avevo del codice su

Sub Activity_Resume
' nArtInCarrello=funzioni.RicontaCarrello()
' lblArtCarr.Text=nArtInCarrello
End Sub
ho remmato queste righe ed adesso e tutto ok


ho un altro problema che non riesco a risolvere,
avvolte basta scrivere qui e si risolve da solo--- :)

apriro' un nuovo post per questo,
prima ci lavoro ancora un po
 

LucaMs

Expert
Licensed User
Longtime User
trovato il problema, avevo del codice su

Sub Activity_Resume
' nArtInCarrello=funzioni.RicontaCarrello()
' lblArtCarr.Text=nArtInCarrello
End Sub
ho remmato queste righe ed adesso e tutto ok


ho un altro problema che non riesco a risolvere,
avvolte basta scrivere qui e si risolve da solo--- :)

apriro' un nuovo post per questo,
prima ci lavoro ancora un po
Anziché "remmare", chiama la InitMenu usando CallSubDelayed(Me, "InitMenu")
 

LucaMs

Expert
Licensed User
Longtime User
Ma sarebbe meglio che facessi così:
B4X:
Sub Process_Globals
    Private xui As XUI
    Private rp As RuntimePermissions
    Public mExternalDir As String
    Private Const DBFileName As String = "Db_ParPDV.db"
End Sub

Sub Globals
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("Layout")
    mExternalDir = rp.GetSafeDirDefaultExternal("")
    InitMenu
End Sub

Private Sub InitMenu
    If File.Exists(mExternalDir, DBFileName) = False Then
        File.Copy(File.DirAssets, DBFileName, mExternalDir, DBFileName)
        LogColor("File " & mExternalDir & " copiato", Colors.Blue)
    End If
End Sub

Al Manifest aggiungi solo:
Manifest file:
AddManifestText(<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
)
 

Xfood

Expert
Licensed User
Mi hai fatto stare inutilmente tutto il pomeriggio accanto a una stufetta, per tenermi caldo in attesa di poter risolvere il tuo problema, che non è arrivato. 😄
Ho risolto da solo, come dicevo prima , talvolta basta scrivere ed arriva la soluzione.
Grazie mille per la disponibilita'.
 
Top