Wie kann ich die Berechtigung zur Laufzeitaufzeichnung für Android 6.0 anfordern?

Seit Android 6.0 müssen wir Berechtigungen zur Laufzeit der App anfordern.

In meiner App verwende ich lokale Speicher-, Kamera-, Geolocation- und Audioaufzeichnungsberechtigungen.

So ist das Anfordern von lokalem Speicher, Kamera und Geolocation mit diesem Snippet in Ordnung:https: //github.com/appcelerator-developer-relations/appc-sample-ti510/blob/master/app/controllers/permissions.j

Aber ich habe nicht gefunden, wie ich eine Audioaufnahmeberechtigung anfordern kann ... Ich verwende das Modul titutorial.audiorecorder für Android und es stürzt ab, wenn ich versuche, seit Android 6.0 aufzunehmen, da die Aufnahmeberechtigung nicht aktiviert ist.

Weitere Informationen zu meiner Umgebung:

Operating System

Name                        = Mac OS X
  Version                     = 10.11.3
  Architecture                = 64bit
  # CPUs                      = 4
  Memory                      = 17179869184

Node.js
  Node.js Version             = 0.12.7
  npm Version                 = 2.11.3

Titanium CLI
  CLI Version                 = 5.0.6

Titanium SDK
  SDK Version                 = 5.2.0.GA
  SDK Path                    = /Users/****/#/mobilesdk/osx/5.2.0.GA
  Target Platform             = android

Appcelerator Studio 4.5.0.201602170821

tiapp.xml

<manifest>
    <uses-sdk android:minSdkVersion="15"/>
    <uses-sdk android:targetSdkVersion="23"/>
    <uses-permission, android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
    <uses-permission android:name="com.mycompany.myapp.permission.MAPS_RECEIVE"/>
...
...

</manifest>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage