Je développe une application Xamarin.Forms à l'aide du microphone. Mon application utilise Android 7.1 (Nougat) sur un Huawei P9-Phone. Mon manifeste Android comprend:La boîte de dialogue d'autorisation Android ne s'affiche pas dans Xamarin.Forms
La boîte de dialogue d'autorisation ne s'affiche toujours pas si j'essaie d'utiliser le microphone. Je peux définir l'autorisation manuellement dans les paramètres du téléphone (l'application fonctionne si je le fais).
Le code qui donne accès au micro est:
this.recorder = new MediaRecorder();
this.recorder.SetAudioSource(AudioSource.Mic);
this.recorder.SetOutputFormat(OutputFormat.AmrWb);
this.recorder.SetAudioEncoder(AudioEncoder.AmrWb);
this.recorder.SetAudioSamplingRate(16000);
var directoryName = Configuration.RecordDirectory;
if (!Directory.Exists(directoryName))
{
Directory.CreateDirectory(directoryName);
}
var fileName = Configuration.RecordName + Configuration.RecordExtension;
string path = Path.Combine(Configuration.RecordDirectory, fileName);
this.recorder.SetOutputFile(path);
this.recorder.Prepare();
this.recorder.Start();
Qu'est-ce que je manque? Puis-je forcer l'application pendant l'exécution à afficher le dialogue?
Résolu
lecture this blog article, les développeurs doivent mettre en œuvre les demandes d'autorisation manuellement depuis android marshmellow.
s'il vous plaît montrer le code qui tente d'accéder au microphone – Jason
Depuis Android 6.0 vous devez demander les autorisations par programme: https://developer.android.com/training/permissions/requesting.html – Gusman
@jason merci pour votre réponse. J'ai ajouté le code à la question. –