Beiträge von nono124

    Ja genau CompileSDK ist die Version auf der es übersetzt wird minsdk ist die version mir der es noch lauffähig ist. Für die premission ist das uninteressnt. Du bist über api 23 somit reicht es nicht mehr nur die permission im Manifest zu setzen. Kann dir leider dafür keine link geben da ich nur an Handy bin. Suche nach premission api 23. Ich benutze meist die Ask Bibliothek von github. https://github.com/00ec454/AskII


    Wenn die API im Quellcode wäre, welche api?

    hallo deine API ist bestimmt nicht 21 außer du hast das Projekt vor einigen Jahren angefangen wo API 21 aktuell war. Compilesdk ist die API auf der du entwickelst und das ist bei AS im Moment 27. Außer du hast im graedle was anders eingestellt. Somit musst du die neuen permissionen benutzen.


    Werde mir das ab Mittwoch nochmal anschauen bin übers we nicht zu Hause.

    hallo habe es auch so gemacht wie Irithyll über die ZIP Datei.
    Die Bibliothek ist aber in scala geschrieben und nicht in Java.

    Hallo das hier meinte ich auch nicht zu Laufzeit vielmehr meinte ich das du dir die Fremde apk anschauen kannst und eventuell die Manifest Datei daraus lesen kannst, um zu sehen worauf die App außer den normalen Aktionen reagiert.


    Ich glaub das ist zur Laufzeit ein bisschen doof, wenn ich dafür überhaupt Berechtigungen bekommen kann.“

    Zu den INJECT_EVENTS hast du dir das mit den neuen Permissionen seit API23 angesehen.


    Frage gehe ich richtig in der Annahme das es keine von dir entwickelte App ist an sie du die Nachrichten schiken willst?

    Hallo, so ich versuche es mal.
    Wie du sicher weist gibt es zwei arten von Intents.


    Explizite:
    Geben die Komponente an die sie gerichtet sind genau an. zB.. eine Activity.


    Constructor
    Intent(Context packageContext, Class<?> cls)
    Intent(String action, Uri uri, Context packageContext, Class<?> cls)



    Implizite:
    Geben statt einer genauen Zielkomponete nur einen Hinweis Über die gewünschte Funktionalität an . Welche App gestartet wird, wird über den Action und Uri Parameter bestimmt und kann meist über einen Auswähler vom User gewählt werden.


    Constructor
    Intent(String action)
    Intent(String action, Uri uri)


    Die Action Parameter kannst du hier in der Doku nach schauen.
    https://developer.android.com/…droid/content/Intent.html



    Um eine bestimmte App zu starten ist es sinnvoll zu wissen wie der Intentfilter der App aufgebaut ist bzw. worauf er reagiert. Das ist meistens in der Doku der App beschrieben. Wenn nicht musst du testen. Den Intentfilter könntest du dir durch rückübersetzen der Apk im Manifest anschauen.


    So nun Frage was meinst du mit „Inject_Event“ ich kenne das nur bei einen Service ?
    Um welche App Handelt es sich und was willst du Erreichen?


    PS. habe noch etwas gefunden.
    Die "android.permission.INJECT_EVENTS" gehöht seit API 23 zu den Dangerous Permission und es reicht nicht mehr nur sie im Manifest zu setzen sondern sie muss auch zur laufzeit vom User bestätigt werden.
    könnte auch ein möglicher Fehler sein.


    https://stackoverflow.com/ques…vents-permission/25014038
    https://stackoverflow.com/ques…ther-application-requires


    Ich verstehe leider nicht wie du mit Hilfe eines Intent Nachrichten an eine andere Activity, App, Fenster schicken willst. Denke das willst du bestimmt sonst bräuchtest du nicht die Inject_Event Permission.
    Denke du willst der App Vorgaukeln das der User zB. Tastatureingaben gemacht hat.
    Das dies mit einen Intent geht kann ich mir nicht Vorstellen.
    Eher mit "Instrumentation" ist aber nur eine Vermutung von mir die ich noch nie getestet habe.
    https://findusages.com/search/android.app.Instrumentation/Instrumentation$0?offset=14
    https://github.com/xaviiic/Not…widget/RxSeekBarTest.java
    https://developer.android.com/…trumentation-element.html

    Hallo will mich hierzu nochmal melden.
    Was ist das denn für eine App ? Wie ich schon sagte ist es sehr schwer aus den Infos die du und gibst etwas zu schließen.
    Wir wissen nicht ob du in deiner app irgendwas mit You Tupe machst weil das auch ein tipp von Google ist.
    Oder irgendwelche nicht erwünschten sachen im Netzwerk Internet machst .


    Wo Google auch seit neuen sehr darauf achtet ist der Energieverbrauch der app. Sie wollen das die Programmierer den doze mode nutzen im Standby.
    Was auch wichtig ist immer Ressourcen wieder zurückgeben wenn nicht mehr gebraucht wird.


    Aber all das verrätst du uns leider nicht. Und nur die Aussage "Wir haben jeden kritische API entfernt" reicht leider nicht um daraus Rückschlüsse zu ziehen.


    So hoffe das du dich dazu entschließt etwas mehr darüber zu erzählen.
    Und dir klar geworden ist das mit so spärlichen Infos keine Hilfe gegeben werden kann.


    Und eine direkte Nummer zu Google wird wohl hier auch keiner haben. Sie schreiben ja auch das du dich an den Support wenden kannst sollst wenn du der Meinung bist das deine App keinen Regel verstoß verursacht.



    Ps. Welche kritischen APIs waren den drin in der app die du entfernt hast?



    Lg Jörg

    Hallo, wenn du super Schnelle Hilfe willst dann wäre es sinnvoll etwas mehr über deine App zu Erzählen.
    So wird dir da hier keiner Helfen können.
    Vorallen sofort du hast deine App bestimmt auch sofort erstellt.


    Im übrigen bin ich der Meinung das Googel schon einige Anhaltspunkte gibt warum sie es ablehnen.

    Hi,
    so ich habe es mal bei mir getestet.
    Habe ein neues Projekt erstellt mit NavDrawer. Den Render Fehler habe ich nicht. Hier das XML Layout.
    Wie ich schon sagte hatte ich das bei füheren Android Studio versionen auch.
    Habe auch ältere Projekte von mir geladen wo ich den Fehler hatte nun war er weg.
    Früher hatte ich aber auch nicht das "android.support.design.widget.NavigationView" benutz und es anders gelöst.
    Da kammen die Fehler immer das war aber auch noch die Zeiten wo ich mit Eclipse gearbeitet habe. Habe es dann auf das Importieren zu AS geschoben. Da ich alle Quelle auf das Support Widget umgeschieben habe kann ich es auch nicht mehr testen.



    ich habe die As Version 3.1


    Was mir aber auffält ist das bei dir eine LayoutDatei mit dem Namen "activity_main_drawer.xml" erstellt wird bei mir ist es activity_main.xml.


    Zitat

    Starte halt ein neues Projekt mit Navigation Drawer unter AS, und schon beim ersten Klick auf "activity_main_drawer.xml" kommt der Fehler.

    Zeige mal bitte dien XML Datei


    Ps. habe gerade ein Update zu AS 3.1.1 gemacht auch da alles Top. Ich benutze nur Stable Cannel.
    Villeicht hilft eine neu Installation von AS bitte vorher auch alles löschen auch aus dem User Ordner und AppData Ordner.

    Wie gesagt hatte ich das auch mal scheint mir ein Bug im Designer zu sein. Wie hast du das Layout erstellt?
    beim erstellen von Hand also Eingabe von XML Code war das bei mir auch so.
    Wenn ich mir eine App von AS mit Navdrawer erstellen lasse ist das nicht der fall.
    Welches Haupt Layout benutzt du ?


    Ps. habe "das Starte halt ein neues Projekt mit Navigation Drawer unter AS, und schon beim ersten Klick auf "activity_main_drawer.xml" kommt der Fehler." jetzt erst gelesen. Werde es mogen mal testen und dir berichten.
    Dachte das es bei der neuen AS Version nicht mehr zu fehlern mit dem Navdawer Layout im Designer kommt.

    Hi sieht so aus als ob der Designer den XML Colde nicht richtig Parsen kann.
    Welches Layout benutzt du oder zeige mal deine Layout Datei.
    Welche version von Android Studio hast du?
    Beim Navdrawer in einer alten AS Version hatte ich das auch mal.
    Wie es bei der aktuellen AS Version ist kann ich im Moment nicht sagen.

    "das Try/Catch verhindert das bei nicht existierender Activity eine Exeption ausgeworfen wird."


    Stimmt nicht, es wird eine Exeption geworfen nur das du sie im Catch Block abfängst und somit die App nicht abstürzt.


    Ein Prüfen ob die Activity läuft ist das nicht.
    Prüfen würde ich mit „If“ ob die Activity läuft und wenn nicht überspringen und nicht warten ob eine Exeption geworfen wird.


    So aus den Kopf :
    if(this.instanceof.ConnectActivity){ }


    Oder du erstellst eine static variable in B und setzt sie in onresume und löschtst sie in onpause.


    "static TextView mReadBuffer;" brauchst nicht static zu sein.

    Hi,
    Michael hat euch doch einen super Tipp mit dem SoundPool gegeben.
    Damit sollte das auf jeden Fall möglich sein mehrere Sound Dateien gleichzeitig und auch in Schleife abzuspielen.


    Wie viele Streams ihr gleichzeitig abspielen könnt müsst ihr testen hängt auch sehr stark von der CPU ab. 3-4 sollte kein Problem sein.


    Das sich die Tonhöhe mit der Geschwindigkeit ändert ist klar und wird wohl bei gesampelten Tönen auch nicht anders gehen.
    Zu mindestens weis ich da keine Lösung.



    Wenn ihr Geschwindigkeit Tonhöhe usw. Einstellen wollt geht wohl kein Weg an MIDI vorbei.
    Ob Ihr Midi Datein in SoundPool laden könnt weis ich jetzt nicht testet es halt.


    So nun viel Erfolg beim Basteln.

    Eine static Variable oder Methode braucht keine Instanz ist also von Anfang an vorhanden wird beim Kompilieren erstellt.
    Kann im selben Paket einfach so benutz werden.
    Must aber den Klassen Namen mit angeben. „Klassenname.Variable“
    In der Klasse wo die variable erstellt wird brauchst du den Klassennamen nicht.


    ps. Quelltext kannst du hier im Forum unter den </> Icon Einfügen.