2016-04-26 27 views
0

Ich bin mit einem Fehler, wenn ich versuche, für die Berechtigungen für Android fragen 6.Titanium - Android 6 Berechtigungen

Meine Funktion ist:

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

Und der Fehler ist:

Message: Uncaught TypeError: Object #<Android> has no method 'requestPermissions' 

Was passiert? Weil diese Funktion in Titanium Docs existiert. Ich verwende Ti.SDK 5.1.2.GA

+0

schauen, können Sie für die Lage um Erlaubnis fragen wollen? – Swanand

+0

Ich denke mein Problem ist, dass in Ti.SDK 5.1.2.GA die Funktion requestPermissions noch nicht implementiert ist ... – amurcia

+0

Ja, Sie sollten Ti SDK 5.2.2 und höher. – Swanand

Antwort

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

für mehr Sie in den link und auch in den docs