Spanish Problemas con read_phone_state

samperizal

Active Member
Licensed User
Longtime User
Hola

estoy haciendo una aplicación para enviar sms y me da el error de que no tengo permiso a pesar de tener agregado en el manifiest

'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="5" android:targetSdkVersion="26"/>
<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)
AddPermission("android.permission.WRITE_EXTERNAL_STORAGE")
AddPermission("android.permission.READ_EXTERNAL_STORAGE")
AddPermission(android.permission.READ_PHONE_STATE)
'End of default text.

Donde se puede tener acceso a la libreria RuntimePermissions

Gracias por anticipado
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola :

Estas poniendo el SDK 26, eso equivale a Android 8.00, asi que tendras que pedir los permisos al usuario con la libreria RuntimePermissions , y añadir el evento en main :
B4X:
Sub Activity_PermissionResult (Permission As String, Result As Boolean)
Donde comprobaras si te ha concedido los permisos (Result).

Una consulta típica seria asi:
B4X:
If rp.Check(rp.PERMISSION_READ_PHONE_STATE) = False Then rp.CheckAndRequest(rp.PERMISSION_READ_PHONE_STATE)

En Sub Process_Globals declara esto:
B4X:
Private rp As RuntimePermissions


Si no lo vas a subir al Play Store, bajalo como minimo a SDK 22 que es Android 5.1.1 , ya que a partir del SDK 23 (incluido) que es Android 6 tienes que hacer lo de pedir permiso al usuario

Saludos
 
Last edited:

samperizal

Active Member
Licensed User
Longtime User
Saludos

Gracias por la respuesta.

Al colocarle el sdk22 me dice que no puede instalar porque el paquete esta dañado.
a que se debe esto?

De donde puedo bajar la libreria RuntimePermissions
Gracias por anticipado
 

samperizal

Active Member
Licensed User
Longtime User
Saludos.

Esta es la configuración

C:\Program Files\Java\jdk1.8.0_191\bin\javac.exe

G:\androide-sdk\platforms\android-22\android.jar

Version de B4a 8.50
 
Top