0

J'ai fait une application qui utilise la caméra.Autorisation appareil photo Android6

  • Interface de ligne de commande Titanium, la version CLI 5.0.5,
  • SDK Titanium Version 5.1.1.GA

Il fonctionne bien sur avant Android 5 (Lollipop).

Cependant maintenant, il se bloque sur Android 6 sans même afficher l'invite d'autorisation.

Si vous définissez les autorisations dans le panneau de configuration Android. Ça marche bien.

Comment puis-je définir l'autorisation automatiquement lorsque l'utilisateur l'installe?

Existe-t-il de bons échantillons?

Je vérifie cet exemple de code, mais honnêtement parlant c'est trop compliqué pour seulement les autorisations de caméra.

https://github.com/appcelerator-developer-relations/appc-sample-ti510/blob/master/app/controllers/permissions.js

Répondre

1

Pour prendre l'autorisation dans Android 6: -

 public void android6permission{ 
      String[] permissions = { 
       "android.permission.CAMERA", 
       "android.hardware.camera", 
       "android.permission.ACCESS_COARSE_LOCATION", 
       "android.permission.WRITE_EXTERNAL_STORAGE", 
       "android.permission.READ_EXTERNAL_STORAGE" 
     }; 


     requestPermissions(permissions, 122323); 

    } 

    @Override 
    public void onRequestPermissionsResult(int requestCode, 
              String permissions[], int[] grantResults) { 
     switch (requestCode) { 
      case 122323: { 
       if (grantResults[0] == 
         PackageManager.PERMISSION_GRANTED){ 
        // Do task 
       } else { 
        Toast.makeText(getApplicationContext(),"Access denied",Toast.LENGTH_SHORT).show(); 

        // permission denied, boo! Disable the 
        // functionality that depends on this permission. 
       } 
       return; 
      } 
     } 
    } 

méthode Il suffit de lancer android6permission() dans onCreate

1

Depuis Android 6.0 le mécanisme d'autorisation est modifiée. Vous devez demander des autorisations à l'exécution (lorsque l'utilisateur demande un service système particulier). Si vous ciblez la version 6.0 et que vous n'avez pas géré les autorisations d'exécution, votre application va planter.

Consultez la documentation officielle ci-dessous:

http://developer.android.com/training/permissions/requesting.html

+0

Merci, je commencer à apprendre sur l'autorisation Android 6.0. – whitebear