2016-04-26 50 views
0

我有一个错误,当我试着问权限在Android 6.钛 - 安卓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' 

最新情况?因为在Titanium Docs中存在此功能。我使用Ti.SDK 5.1.2.GA

+0

你要问的位置的权限? – Swanand

+0

我认为我的问题是,在Ti.SDK 5.1.2.GA函数requestPermissions尚未实现... – amurcia

+0

是的,你应该Ti SDK 5.2.2及以上。 – Swanand

回答

1
// 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(); 
    } 
}); 

更多的你可以看看在link,并在docs