Ich verwende einen Dienst, der beim Start startet und nach Standortaktualisierungen sucht. Sobald ich den Zugriff auf die Adresse per Permission verweigert habe, kann mein Dienst dank Android M abstürzen, sobald das Telefon hochgefahren ist.Anforderung von Standortberechtigungen von einem Dienst Android M
Da ich in diesem Fall keine Aktivität habe, gibt der Anruf an requestPermissions()
eine ClassCastException
zurück, da mein Dienst Context
nicht in eine Aktivität umgewandelt werden kann.
Mein Methodenaufruf:
ActivityCompat.requestPermissions((Activity) mContext, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_COARSE_LOCATION);
Gibt es eine Lösung bisher zu dieser oder muss ich die Service-Rechte widerrufen nicht in einem solchen Zustand ausgeführt werden.
In Service, den Sie ** ContextCompat.checkSelfPermission() verwenden können ** Erlaubnis Verfügbarkeit überprüfen bevor Sie etwas arbeiten. –
@Dhaval Patel Ja, das Problem liegt in Anforderungsberechtigungen in einem Dienst. Scheint, es gibt keine Möglichkeit, dies noch ohne eine Aktivität zu tun – stud91
möglicherweise können Sie feuern Benachrichtigung, Benutzer zu fragen, um die Erlaubnis zu geben. –