Unresolved reference: @MainActivity

  • Ich will den Permission Check von der MainAktivity in ein Objekt auslagern, dabei geht der context verloren. Wie krieg ich das wieder hin?

    HIer ist die MainActivity.kt

    Und hier Permission.kt und für this@MainActivity folgt die Fehlermeldung: unresolved Reference.

  • Für die erste Methode get() würde das funktionieren, die zweite Methode check() sollte aber auch von ausserhalb der MainActivity aufgerufen werden können und daher braucht es eine andere Lösung.

    Einmal editiert, zuletzt von benigern (22. Juli 2023 um 10:56)

  • Du kannst ihn doch auch da übergeben.

    Oder benutze in der Klasse eine Instanz Variable und im Costrruktor übergibst du den Context und speicherst ihn in der Variablen.

  • Eine Variable vom Typ Context ist nicht möglich, weil der Context nicht null sein darf. Es braucht eine andere Lösung. Alles was ich bisher gesehen habe, z.B. auf stackoverflow.com, funktioniert nicht. Also hier die Quizfrage: Wie lautet der korrekte Ersatz für this@MainActivity?

  • this@MainActivity?

    Solange du in der Activity Klasse bist kannst du das so benutzen aber außerhalb nicht.


    Code
    fun check(co : Context) : Boolean {
        return (Build.VERSION.SDK_INT < 31 ||
                ContextCompat.checkSelfPermission( co ,Manifest.permission.BLUETOOTH_CONNECT) == PackageManager.PERMISSION_GRANTED)
    }

    return (Build.VERSION.SDK_INT < 31 ||PERMISSION_GRANTED)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!