当我试图请求Android 6的权限时,我犯了一个错误。
我的职责是:
// check ACCESS_FINE_LOCATION permission
var location2Permission = "android.permission.ACCESS_FINE_LOCATION";
var hasLocation2Permission = Ti.Android.hasPermission(location2Permission);
if(!hasLocation2Permission){
permissionsToRequest.push(location2Permission);
}
// request permission
Ti.Android.requestPermissions(permissionsToRequest, function(e) {
if (e.success) {
Ti.API.info("SUCCESS");
callback();
} else {
Ti.API.info("ERROR: " + e.error);
}
}); 错误是:
Message: Uncaught TypeError: Object #<Android> has no method 'requestPermissions'发生什么事了?因为在钛文档中存在此函数。我使用的是Ti.SDK 5.1.2.GA
发布于 2016-04-26 15:16:43
// The first argument is required on iOS and ignored on other platforms
var hasLocationPermissions = Ti.Geolocation.hasLocationPermissions(Ti.Geolocation.AUTHORIZATION_ALWAYS);
Ti.API.info('Ti.Geolocation.hasLocationPermissions', hasLocationPermissions);
if (hasLocationPermissions) {
return alert('You already have permission.');
}
Ti.Geolocation.requestLocationPermissions(Ti.Geolocation.AUTHORIZATION_ALWAYS, function(e) {
Ti.API.info('Ti.Geolocation.requestLocationPermissions', e);
if (e.success) {
// Instead, probably call the same method you call if hasLocationPermissions() is true
alert('You granted permission.');
} else if (OS_ANDROID) {
alert('You denied permission for now, forever or the dialog did not show at all because it you denied forever before.');
} else {
// We already check AUTHORIZATION_DENIED earlier so we can be sure it was denied now and not before
Ti.UI.createAlertDialog({
title: 'You denied permission.',
// We also end up here if the NSLocationAlwaysUsageDescription is missing from tiapp.xml in which case e.error will say so
message: e.error
}).show();
}
});要了解更多信息,您可以查看链接和文档
https://stackoverflow.com/questions/36867047
复制相似问题