BLE mit Api18 und API21aufwärst

  • Antworten:11
  • OffenNicht stickyNicht beantwortet
Gelöschter Account
  • Forum-Beiträge: 28

11.04.2018, 10:20:40 via Website

Guten Morgen!
ich kämpfe gerade mit einer Anwendung, mit der ich als client scannen möchte, ob BLE-Geräte in der Nähe sind.
Seit der API21 funktioniert es mit permissions usw..., deswegen habe ich gelesen, dass man vor manche Programmteile @RequiresApi(21) schreiben sollte.
Ich bekomme aber immer die Fehlermeldung "cannot resolve RequiresApi".
Ich habe einige Beiträge im Internet gefunden aber verstehe immer nicht, wo ich was aktualisieren muss, damit diese Annotation bekannt ist.
Kann mit jemand eine TODO-Liste sagen?
Vielen Dank im Voraus!
In den SKD tools habe ich das Package Androis support repository angeklickt.
image

Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.169

11.04.2018, 11:50:37 via Website

Hallo MBoerner,
vermitlich fehlt dir einfach nur ein Import o.ä.
https://developer.android.com/reference/android/support/annotation/RequiresApi.html
z.b. auf com.android.suport.annotation etc.

Was schlägt AS denn als Fehlerläsung vor? (Alt+Enter)

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
Gelöschter Account
  • Forum-Beiträge: 28

11.04.2018, 13:21:00 via Website

Hallo Pascal,
As schlägt Folgendes vor (siehe bild) . Aber wenn ich auf den ersten Vorschlag klicke, sehe ich nicht, dass irgendetwas passiert (in build.gradle) und der Fehler bleibt bestehen.
image

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 2.902

11.04.2018, 13:51:57 via Website

Hallo,

so einen Fall hatte ich auch noch nicht.

Da ich deine Funktion nicht einsehen kann und auch nicht weis , was du da machst,
kann ich nur vermuten :

Warum fragst du nicht innerhalb Dieser die Build-Versions ab ?

— geändert am 11.04.2018, 13:52:15

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.169

11.04.2018, 13:53:46 via App

Du kannst die Dependency auch manuell ins gradle File eintragen und dann sollte es gehen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
Gelöschter Account
  • Forum-Beiträge: 28

11.04.2018, 14:09:51 via Website

Hallo Pascal, danke für die Antwort.
Ich bin aber Anfänger in AS, was trage ich da genau ein?
Ins build.gradle (Module: app?)
Im Moment steht dort:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

Danke im Voraus für die Mühe

Hilfreich?
Diskutiere mit!
Gelöschter Account
  • Forum-Beiträge: 28

11.04.2018, 14:10:52 via Website

Hallo swa00

wenn die Lösung von Pascal nicht klappt, werde ich es wohl so lösen.
Ich dachte, man muss es am Besten so regeln.

Danke für den Tip,

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.169

11.04.2018, 14:16:43 via Website

In der Docu stehts drin:
https://developer.android.com/topic/libraries/support-library/packages.html#annotations

Mit

implementation 'com.android.support:support-annotations:27.1.1'
//(evtl. Version anpassen wenn du nicht aPI 27 nutzt)

— geändert am 11.04.2018, 14:17:00

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
Gelöschter Account
  • Forum-Beiträge: 28

11.04.2018, 15:08:46 via Website

Ok, danke schön!
Was schreibe ich aber, wenn ich gar nicht weiß, was der Benutzer für eine API haben wird?
Die Kleinstmögliche eintragen?

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.169

11.04.2018, 16:32:14 via Website

Das ist egal, was der nutzer hat, immer die größt mögliche Release nehmen und in deiner Gradle das mimimum APi Version setzen.
Dann unterstützt du dank Support Libs alles zwischen den beiden Versionen funktioniert ab Android 4.4.x super und unter 4.4 gibt es immer weniger geräte im Einsatz. (Vorausgesetzt du nimmst auch die Komponenten aus der Support (v7) Lib z.b. sollten dann Alle Activities von AppCompatActivity erben etc..)

— geändert am 11.04.2018, 16:32:24

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
Gelöschter Account
  • Forum-Beiträge: 11

18.04.2018, 21:00:18 via Website

Hi ist das Problem schon gelöst worden?

compileSdkVersion und Supportlib sollten zusammen passen. Wenn du zb Supportlib 27.1.1 hast muß compileSdkVersion auch 27 sein.
Da in deinem zweiten Post was von 25.4. 0 steht könnte es sein das dein compileSdkVersion auf 25 steht.

— geändert am 18.04.2018, 21:13:17

Hilfreich?
Diskutiere mit!
Gelöschter Account
  • Forum-Beiträge: 28

19.04.2018, 11:46:10 via Website

Danke für die Nachfrage,
Ich hatte die Annotation zurückgestellt, weil ich noch andere Themen habe.
Zur zeit habe ich als compile Version 27 und kümmere mich dann doch noch nicht um die älteren Versionen.

Vielen Dank für die Hilfe
MBoerner

Hilfreich?
Diskutiere mit!

Empfohlene Artikel