1
從Android 6.0開始,我們需要在應用運行時請求權限。如何申請Android 6.0的運行時錄製權限?
在我的應用程序中,我使用本地存儲,攝像頭,地理位置和音頻錄製權限。
因此,請求本地存儲,攝像頭和地理位置是確定與片段: https://github.com/appcelerator-developer-relations/appc-sample-ti510/blob/master/app/controllers/permissions.js
,但我沒有找到如何爲錄音許可的請求......實際上我用titutorial.audiorecorder模塊Android和它崩潰時,我試圖記錄自Android 6.0以來,因爲錄製權限未啓用。
在我的環境更多的信息:
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>
我在/ Users/[me]/Library/Application Support/Titanium/mobilesdk/osx /中看不到我的5.2.0.GA sdk文件夾...我只看到較舊的SDK文件夾3.5.1.GA和5.0.2.GA?!! 5.2.0.GA位置還有其他路徑嗎? – gsoulie
好的,我找到了我的5.2.0.GA sdk路徑並完成了上面的所有操作。我不再有錯誤,但在請求許可後回調函數沒有執行...我使用ti.permissions模塊的最後一個版本(v0.4) – gsoulie
我創建了一個JIRA票據,您可以觀看這個票據以獲得此固定在SDK中:https://jira.appcelerator.org/browse/TIMOB-20544 –