Beiträge von Ahnungslos

    Das ist zwar denk ich mal bisschen schlampig müsste aber funktionieren


    Wenn du eine Methode schreiben willst müssen die Parameter final sein

    Es gibt zwar mehrere Möglichkeiten das umzusetzen aber es kommt auf das selbe hinaus.
    Du kannst Optimieren in dem du die Deklenation und Initalisierung des Strings output weglässt (siehe meine Variante)
    Ansonsten kann ich dir noch die Switch-Case Variante empfehlen, wenn in der Zukunft spalte8 == 2 o.ä. das selbe bewirken soll wie spalte8==1 somit sparst du dir ein if else Block

    Was meinst du mit Bestätigung es kommt eine Anfrage auf Genehmigung wenn die Berechtigung angefordert wird wenn du sie erteilst merkt sich das Android und fragt beim nechsten mal nicht mehr. Das Ablehnung glaube ich merkt sich android auch und fragt auch nicht mehr nach

    Die Anfrage meinte ich ja damit. Nur die Anfrage kommt bei bei INJECT_EVENTS nicht

    Manifest.permission.INJECT_EVENTS

    Existiert nicht in meiner API.


    Ich hab es mit Ask getestet aber ich bekomme da nur AppCombatActivity Fehler (und daraus entstehende ) und ich check einfach net wie man das beheben kann. (Schande über mich) :(


    Hast du es eigentlich mal selber getestet?


    EDIT:
    Ich habs doch hinbekommen, aber ich bekomme keine Anfrage auf Bestätigung der Permission, alle anderen funktionieren wiederum. :S

    Danke für die Hilfe,
    es funktioniert so wie ich es mir gedacht habe, aber es bringt mich leider nicht weiter. Das INJECT_EVENTS-Permission-Fail-DingsBums kommt trotzdem, somit war meine Überlegung Android auszutricksen auch nicht erfolgreich.^^


    P.S. Jetzt muss ich wohl doch zu Plan C greifen.. It's to much work..
    Oder fällt dir noch was ein wie man Methoden wie nextPage() und previousPage() auf FremdApps übertragen/anwenden/umsetzen kann?

    1) Die HttpURLConnection Klasse ist eine direkte Java-Klasse, die in Android (innerhalb der Android-Klasse AsyncTask) für Http-Anfragen genutzt wird. Es gibt keine gleichnamige Android-Klasse. Stimmt das ?

    Stimmt. Ich würde aber lieber HttpsURLConnection empfehlen, die Klasse erbt sowieso von HttpURLConnection. Außer wenn die Sicherheit an der Stelle unwichtig ist.



    2) Es gibt Libraries, die komfortable(re) Methoden für Http-Anfragen bieten, die aber (alle?) "unter der Haube" selbt die HttpURLConnection Klasse nutzen (müssen?). Stimmt das ?

    Vom müssen kann denk ich mal nicht die Rede sein. Aber wieso das Rad neu erfinden, wenn die Klasse schon von Java angeboten wird? Genau weiß ich es nicht, aber ich kann es mir schlecht vorstellen.


    OKHttp Libary steckt auch 'unter der Haube' (erbt) von HttpURLConnection:
    OkHttpURLConnection -> HttpURLConnection
    OkHttpsURLConnection -> DelegatingHttpsURLConnection -> HttpsURLConnection -> HttpURLConnection -> URLConnection

    Du meinst wahrscheinlich den CompileSDK ?(API26) Ich hab eher an die minSDK(API21) gedacht.


    Ich hab das Projekt am Montag angefangen. Das ist meine erste App aber ich bin kein Java-Neuling. :P Eclipse ist mir als IDE lieber, aber bei AS ist ja alles schon angepasst. Wenn die API im Quellcode wäre, würde ich mich ja selber durchhangeln aber bis auf "throw new RuntimeException("Stub!");" ist ja nicht erkennbar.

    "Frage gehe ich richtig in der Annahme das es keine von dir entwickelte App ist an sie du die Nachrichten schiken willst?"
    -Richtig, deswegen ist es auch blöd eine fremde App zu decompilieren. Davon mal abgesehen weiß ich auch nicht welche App der Benutzer steuern will.


    "Zu den INJECT_EVENTS hast du dir das mit den neuen Permissionen seit API23 angesehen."
    -Ne, hab ich nicht meine API ist glaube 21. (Bin gerade nicht zuhause).


    Davon mal abgesehen will ich trotzdem einfach nur das erreichen was die App UC Browser schafft/macht.

    Es ist ein implizites Intent, weil ich nur den Package Pfad der anderen App habe. Mich interessieren halt nur die Parameter die ich brauche, dass die gestartete App als meine vorgetäuscht wird.

    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.

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


    Zu INJECT_EVENTS:
    Mein Android Studio gibt an, dass INJECT_EVENTS nur vom SystemApps verwendet werden darf.

    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.

    Also ich möchte mit meiner App ein Peripheriegerät vorgaukeln, dies kann ich mit Instrumentation ermöglichen. Das Problem ist halt wenn man eine Andere App steuern will kommt halt der INJECT_EVENTS-PermissionsFehler.
    Meine Idee war halt Android vorzugaukeln, dass die andere App halt nicht eine andere ist sondern meine und damit zu hoffen, dass der INJECT_EVENTS-PermissionsFehler nicht auslöst.



    Die App soll halt auch ohne root laufen.



    Zur App:


    Die App soll als eine Art Treiber mit Settings laufen, d.h. ich hab ein BLE (Bluetooth Low Energy) Device und dessen Inputs sollen dann als Peripherie umgewandeln, dies funktioniert halt alles einwandfrei bis auf, dass ich halt keine andere App damit steuern kann. Es muss letztendlich halt nur für eine vom benutzerdefinierte App funktionieren.


    Eine Idee war auch gewesen mittels BluetoothDevice eine Tastatur vorzugaukeln, aber dass scheitert wieder am auf private gelegten Kontruktor der Klasse BluetoothDevice.

    Besserer Titel ist mir nicht eingefallen...


    Ich will wissen wie man eine andere App startet aber nicht als Extra Task sondern untern den Namen meiner App.
    z.B. Meine App A startet App B und im TaskManager soll jetzt nicht App A und App B angezeigt werden, sondern App A und App A mit Inhalt von App B.
    Evtl. ist es besser beschrieben: Meine App startet z.B. die Galerie und die Galerie wird im TaskManager unter meinen Appnamen angezeigt.


    Dass das funktioniert weiß ich. Siehe Anhang
    Der UC Browser start Whatsapp, im Task ist aber der Name vom UC Browser.

    Warum ich das brauche?
    In der Hoffnung, dass man letztendlich doch noch ein Inject_Event ohne root zu einer anderen App schicken kann.


    Vermutung: Man muss bestimmt irgendwelche Flags beim Intent welches man aufrufen will oder ruft es mit einer anderen Methode als startActivity() auf.
    Meine Test haben bis jetzt noch keinen Erfolg gehabt.


    Vielen Dank für Rückmeldungen
    Liebe Grüße Ahnungslos