マイクを使用してXamarin.Formsアプリを開発しています。私のアプリは、Huawei P9-PhoneでAndroid 7.1(Nougat)を使用しています。私のAndroidのマニフェストが含まれています:私はマイクを使用しようとXamarin.FormsにAndroid権限のダイアログが表示されない
はまだ許可]ダイアログボックスが表示されていません。私は手動で電話の設定で許可を設定することができます(私がそうする場合は、アプリが動作します)。
マイクにアクセスするコードは次のとおりです。
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();
私は何をしないのですか?
実行時に強制的にダイアログを表示できますか?
解決
はthis blog article読書、開発者はアンドロイドmarshmellowので、手動でアクセス許可の要求を実装する必要があります。
は、Android 6.0以来マイク – Jason
にアクセスしようとしているコードを表示してください(答えはすでに質問で提供されていたので、コミュニティのwikiとして追加しました)プログラムでアクセス権を要求する必要があります。https://developer.android.com/training/permissions/requesting.html – Gusman
@jasonご返信ありがとうございます。私は質問にコードを追加しました。 –