2016-03-28 13 views
1

Android Mでマイクを使用する必要があります。マニフェストに権限グループを設定しようとしましたが、正しく動作させることができません。ここで私はマニフェストに持っているものです:Android Mのマイクに対する許可をリクエストする

<permission-group android:name="android.permission-group.MICROPHONE" 
    android:label="label" 
    android:icon="@mipmap/day_icon" 
    android:priority="360"/> 

<permission android:name="android.permission.MICROPHONE" 
    android:permissionGroup="android.permission-group.MICROPHONE" 
    android:protectionLevel="dangerous" 
    android:label="label" /> 

は、私はまた、コード経由のアクセスを取得しようとしました:

if (ContextCompat.checkSelfPermission(getActivity(), 
      Manifest.permission_group.MICROPHONE) 
      != PackageManager.PERMISSION_GRANTED) { 

     ActivityCompat.requestPermissions(getActivity(), 
       new String[]{Manifest.permission_group.MICROPHONE}, 
       REQUEST_MICROPHONE); 

    } 

アラートがアクセス権を付与するためには表示されません。

まだマイクにアクセスできません。誰がどのようにマイクの許可を得るのか知っていますか?

:これはあなたの代わりに許可グループManifest.permission_group.MICROPHONEManifest.permission.RECORD_AUDIOを要求しなければならない、マイクを要求するにはAndroidのM

+1

:それからちょうどこの操作を行う権限を要求する

。 – DeeV

+0

あなた自身の許可を作成しようとしていますか? – tyczj

+0

@DeeV私はすでにそこにRECORD_AUDIOを持っています – coder

答えて

12

のために働いていません。彼らはにご希望が新しい権限ではなく使用それらを作成することを示すためにしているので、

だから、マニフェスト内のタグに<permission/><permission-group/>を削除します。それは `Manifest.permission.RECORD_AUDIO`だ

if (ContextCompat.checkSelfPermission(getActivity(), 
     Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) { 

    ActivityCompat.requestPermissions(getActivity(), 
      new String[]{Manifest.permission.RECORD_AUDIO}, 
      REQUEST_MICROPHONE); 

} 
+0

** RECORD_AUDIO **はなぜですか** MICROPHONE **グループ以上の権限が必要ですか? –

+2

@IgorGanapolsky:何らかの理由でグループ全体をリクエストすることはできないので、本当に選択肢がありません。 – DeeV

関連する問題