在Android Marshmallowow中,我們需要分別在Apps中授予對位置,文件等的訪問權限。 PhoneGap應用程序中是否有任何可以檢查權限是否可用的提示用戶提供權限。PhoneGap上Android棉花糖的應用權限
9
A
回答
9
UPDATE 16/02/2016
的PhoneGap現在建立supports API 23 - hoooray!
或者如果您在本地構建,只需Cordova/Phonegap CLI 6+,默認情況下您將獲得cordova-android @ 5 +平臺。
原來的答案
目前,這當然是可能的使用科爾多瓦/ PhoneGap的CLI,但Phonegap Build尚不支持API 23(在Android 6.0 /棉花糖)。
首先,你需要使用V5.0.0(或以上)的Android平臺,它採用API 23
截至今天,默認版本是4.1.1(使用API 22),所以你需要添加平臺時明確指定版本:
cordova platform add [email protected]
phonegap platform add [email protected]
核心插件本身正在進行升級,以支持要求的適當的Android 6的運行權限的進程。因此,您需要直接從GitHub回購站的主分支安裝「最新版」版本,而不是通過npm插件註冊表。例如,使用:
cordova plugin add https://github.com/apache/cordova-plugin-file
這應該讓你的版本4.0.1-dev。
不是故宮發行版:
cordova plugin add cordova-plugin-file
這將讓你V3.0.0
注意,在主分支版本都沒有發佈,所以可能包含錯誤。
所以我選擇的替代方案是繼續使用插件的發佈版本(它還不支持請求Android運行時權限),但使用cordova-diagnostic-plugin來請求Android運行時權限,相應的核心插件需要在嘗試使用核心插件API之前。
例如,使用位置插件,繼續通過NPM使用的發行版:
cordova plugin add cordova-plugin-geolocation
但請求的位置之前,請確保運行時允許使用診斷插件已被授予:
function requestLocation(){
navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
}
cordova.plugins.diagnostic.getLocationAuthorizationStatus(function(status){
if(status == "GRANTED"){
requestLocation();
}else{
cordova.plugins.diagnostic.requestLocationAuthorization(function(status){
if(status == "GRANTED"){
requestLocation();
}else{
// Handle other cases
}
}, function(error){
console.error(error);
});
}
}, onError);
2
這是可能的明確要求用戶啓用特定權限有以下科爾多瓦插件:https://www.npmjs.com/package/cordova-plugin-android-permissions
Especia對於較老的插件來說,這可能非常有用。
相關問題
- 1. Android的棉花糖權限
- 2. android棉花糖 - SMS_RECEIVED權限
- 3. RunTime權限棉花糖Android
- 4. 棉花糖權限gmaps
- 5. 棉花糖權限錯誤
- 6. 棉花糖權限模型
- 7. Android的自定義權限 - 棉花糖
- 8. 從android白色棉花糖清除應用程序棉花糖
- 9. osmdroid和棉花糖的動態權限
- 10. 棉花糖權限和解釋
- 11. 安卓棉花糖權限錯誤
- 12. 在Android棉花糖(API v23)Cordova/phonegap項目上添加運行時權限
- 13. 如何授予在棉花糖上運行的Android應用程序的權限?
- 14. 啓用獲取WiFi詳細信息的權限 - Android棉花糖
- 15. Codename one棉花糖授權
- 16. 棉花糖運行時權限崩潰的應用程序
- 17. 如何處理下面的棉花糖的權限問題Android
- 18. 棉花糖應用程序權限:android.location.PROVIDERS_CHANGED不會被解僱
- 19. Android的棉花糖權限問題與SDK 23
- 20. Android的棉花糖 - 權限狀態變化
- 21. 的Android棉花糖權限模型始終未授予
- 22. 在android棉花糖沒有被授予的所有權限
- 23. Android中的NotificationListenerService棉花糖
- 24. 在android棉花糖中整合新權限
- 25. 權限對話框不顯示android棉花糖
- 26. 在Android中請求多個藍牙權限棉花糖
- 27. 拒絕Android棉花糖崩潰中的運行時權限應用
- 28. 我的壁紙應用程序在Android棉花糖存儲權限問題
- 29. 在棉花糖
- 30. vibrate_when_ringing在Android棉花糖(6.0)
你大多是正確的,但不是從github添加插件,如你所說,它會安裝-dev版本,他應該安裝使用''''cordova插件發佈的最新版本添加cordova-plugin-file @ 4.0.0 --save''' – jcesarmobile
@DaveAlden感謝您的回覆 –
這真是太神奇了,謝謝。 – pushplaybang