2017-06-20 3 views
2

In Kotlin, würde Ich mag eine Methode Anmerkung hinzufügen, die zu dieser RequiresPermission Annotation in Java gleichwertig ist, was darauf hinweist, dass mehrere Berechtigungen erforderlich sind:RequiresPermission Anmerkungen mit „allof“ in Kotlin

@RequiresPermission(allOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION}) 
public Location getLocation() { 
    // ... 
} 

Wie kann ich schreiben diese Anmerkung in Kotlin?

Antwort

2

Sie können mit arrayOf in einer Reihe von Elementen als Anmerkung Parameter übergeben:

@RequiresPermission(allOf = arrayOf(ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION)) 
fun getLocation(): Location { 
    // ... 
} 

Sie tatsächlich zu dieser Lösung auch nur durch Einfügen der Java-Code in ein Kotlin Datei Android Studio bekommen.

+0

Android Studio schlägt vor, '@RequiresPermission (allOf = [ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION])', zu verwenden, aber dann wird der Compilerfehler angezeigt. Was machst du jetzt? – guness

+0

Das ist ein neues Feature, das in Kotlin 1.2 eingeführt wurde, siehe hier: https://kotlinlang.org/docs/reference/whatsnew12.html#array-literals-in-annotations – zsmb13