Sökes: Ett sätt att fjärrstarta en App.

Diskussion i 'Applikationer' startad av Klimpen717, 9 jul 2012.

  1. Klimpen717

    Klimpen717 Infant Droid Medlem

    Blev medlem:
    9 jul 2012
    Inlägg:
    11
    Mottagna gillanden:
    0

    MINA ENHETER

    Jag har letat och letat efter ett sätt att starta en app när jag inte har telefonen vid mig.

    Exempel: Jag sitter vid datorn och telefonen ligger i köket.
    Jag vill nu via datorn kunna starta en specifik app (låt säga en FTP server) utan att gå till telefonen.

    Är det någon som har en lösning eller idé till mig?

    PS. Jag har Tasker på telefonen men kan inte komma på något sätt att utnyttja detta.
     
  2. DrLaban

    DrLaban Adult Droid Medlem

    Blev medlem:
    14 mar 2010
    Inlägg:
    925
    Mottagna gillanden:
    94

    MINA ENHETER

  3. Klimpen717

    Klimpen717 Infant Droid Medlem

    Blev medlem:
    9 jul 2012
    Inlägg:
    11
    Mottagna gillanden:
    0

    MINA ENHETER

    Tackar. Den där liknar väldigt mycket AirDroid.
    Men jag ser inte i förklaringen att den kan starta en app på telefonen?
    Jag kanske har missat något dock.

    Jag är dessutom ute efter något litet enkelt som kan ligga igång hela tiden.
    För som det är nu så använder jag AirDroid som sagt och den är igång bara när jag laddar. Jag skulle behöva göra samma sak med den här då det skulle dra för mycket ström annars.
    Jag skall dock testa den men får gärna fler förslag.
     
  4. DrLaban

    DrLaban Adult Droid Medlem

    Blev medlem:
    14 mar 2010
    Inlägg:
    925
    Mottagna gillanden:
    94

    MINA ENHETER

    Jadu, visade sig att jag inte läste ordentligt på beskrivningen, så på slutet står det att man ändå måste ha appen igång [palmface] innan man ens kommer åt den via LazyDroid....
    Det verkar väldigt tunnt med liknande appar där ute och Tasker har än så länge inget stöd att lyssna på Intents som kommer utifrån (https://groups.google.com/forum/?fromgroups#!topic/tasker/WehUgukiRwQ)

    Hmmm, funderar på om ADB kan vara något. Om det finns en app som lyssnar på Broadcast Intents så kan man rimligen använda ADB för att skicka ett sådant Intent.

    Jag testade precis att starta upp en av mina egna appars aktiviteter genom:
    "adb shell am start -n com.package.name/com.package.name.ActivityName"
    Det fungerade utmärkt, appen startade. Behövde inte ha skärmen igång.

    Det är nog så nära du kommer utan att koda själv. Detta kräver då såklart att det finns en ADB-mottagare igång på din enhet.

    Jag drar slutsatsen att det med ovan metod inte behövs en Broadcast Receiver (som lyssnar på Intents) utan helt enkelt att du vet/klurar ut vad aktiviteten för appen du vill starta, har för paket och aktivitetsnamn.
     
  5. adzievski

    adzievski Baby Droid Medlem

    Blev medlem:
    19 jun 2012
    Inlägg:
    20
    Mottagna gillanden:
    7

    MINA ENHETER

    En möjlighet med Tasker skulle vara att trigga på ett mail från en viss avsändare. Du skulle kunna öppna ett nytt emailkonto bara för detta så slipper du fylla i ämnesraden på mailet för att särskilja det från andra mail. Tanken är att använda notifieringarna på telefonen så det skulle funka med vilket program/tjänst som helst som kan se till att du får en notifiering på telefonen som går att urskilja för ändamålet. Ev. Gtalk-meddelande från viss avsändare/visst innehåll, Skype-meddelande från viss avsändare/visst innehåll etc.
     
    Last edited: 10 jul 2012
  6. Klimpen717

    Klimpen717 Infant Droid Medlem

    Blev medlem:
    9 jul 2012
    Inlägg:
    11
    Mottagna gillanden:
    0

    MINA ENHETER


    Jag är extremt duktig på datorer men mindre hemma på Android och telefoner.
    Kan du förklara närmare? Jag kan gott tänka mig att skriva ett kommando på min dator eller göra ett skript.
    Men måste inte telefonen vara ansluten via USB för att ADB skall funka?
    Hur skickar jag annars ett kommando?
    Hur får jag reda på EXAKT hur kommandot skall se ut?


    Det här låter OCKSÅ väldigt intressant. Kan du förklara lite närmare hur jag skall kunna få låt säga SwiftFTP att starta via Tasker om jag har ex. mail eller GTalk. Mail funkar ju inte så bra då jag synkar så sällan och det måste ju vara nära på direkt respons. När jag tänker på det så kanske GTalk inte funkar heller då jag inte kan skicka meddelanden till mig själv.
    Kan man kanske änvända status funktionen i GTalk? Att jag skriver typ FTP i mitt statusfält i GTalk på datorn för att får tasker att utföra något?

    KEEP 'EM COMING GUYS - Ni är ju kungar på det här, jag är bara vilse!
     
  7. DrLaban

    DrLaban Adult Droid Medlem

    Blev medlem:
    14 mar 2010
    Inlägg:
    925
    Mottagna gillanden:
    94

    MINA ENHETER

    Man behöver ladda hem ADB (antingen genom Android SDK eller något mindre paket, tex Paul's superboot som innehåller det som krävs för att köra ADB-komandon (http://www.modaco.com/topic/348161-01-feb-r4-superboot-rooting-the-gsm-lte-galaxy-nexus/)) och sätta telefonen i Debug-läge.

    Du får installera någon form av ADB-app så du kan ansluta till telefonen över tex WiFi, bluetooth eller annat sätt. Annars är det USB som gäller.
    När du väl vet vilket IP du ska ansluta mot kör du i kommandotolken:
    adb connect [IP till enheten:([port till enheten]

    Därefter kör du:
    adb shell am start -n [paketnamn på appen du vill starta]/[paketnamn på appen du vill starta].[namnet på en aktivitet i appen du vill starta]

    En lista på paketnamn får man genom:
    adb shell
    pm list packages -f

    Där paketnamnen är de som står efter = på varje rad

    Här kommer det svåraste. Hur tar man reda på vilka aktivitetsnamn som finns. Det är något jag själv inte vet, men jag kikar runt lite för att se om det finns något som avslöjar detta på något vis. Såklart helst utan att behöva roota eller nått annat bök.

    Så i slutändan så hade proceduren blivit att
    * installera tex ADB over WIFI widget från Play.
    * ta hem Paul's superboot och lägga innehållet i en mapp på datorn (tex c:\android)
    * starta kommandotolken och cd:a till c:\android
    * starta ADB over WIFI på telefonen
    * kolla IP:t och porten på telefonen, tex 192.168.0.12:5556
    * köra: adb connect 192.168.0.12:5556
    * köra: adb shell
    * köra: pm list packages -f
    * Leta upp paketnamnet på appen jag vill starta, tex org.korv.featherduster
    * köra: något kommando som klurar ut ett pakets alla olika aktiviteter
    * Leta upp aktivitetsnamnet jag vill starta, tex StartCleaning
    * köra: am start -n org.korv.featherduster/org.korv.featherduster.StartCleaning

    Jag kikade lite efter SwiFTP, är det denna du kör? http://ppareit.github.com/swiftp/

    För isåfall har han källkoden publik och jag har klurat ut att både paket och aktivitet bör vara i stil med:
    org.swiftp.gui.ServerPreferenceActivity

    Det finns även en Receiver som heter .WidgetProvider som skulle kunna utnyttjas. Jag tror att du bör kunna skicka iväg detta för att komma åt receivern:
    (adb shell) am broadcast -a android.appwidget.action.APPWIDGET_UPDATE

    alternativt:
    (adb shell) am broadcast -a org.swiftp.WidgetProvider.ACTION_WIDGET_BUTTON

    (adb shell) är valbart beroende på om man är i adb shell sedan tidigare.

    Sen är det bara en massa trial and error för att se om man kan väcka liv i grejerna.

    [Edit]För att ta reda på ett pakets olika aktiviteter kan man ladda hem ManifestViewer (https://play.google.com/store/apps/details?id=jp.susatthi.ManifestViewer) och kolla på AndroidManifestet för vilken app som helst[/Edit]
     
    Last edited: 10 jul 2012
  8. adzievski

    adzievski Baby Droid Medlem

    Blev medlem:
    19 jun 2012
    Inlägg:
    20
    Mottagna gillanden:
    7

    MINA ENHETER

    Det beror ju lite på vad du kör för mailklient på telefonen. Jag kör med Googles Gmail och det tar inte många sekunder innan mailen når telefonen från det att de är skickade. Har inte ställt något synkintervall utan tror Google pushar ut mailen direkt (?)

    Jag har inte använt GTalk själv (det var mest bara en tanke som dök upp) och vågar därför inte svara på om statusändringar i GTalk dyker upp som notifieringar i Android OS vilket var ursprungstanken till denna metod. Att du inte kan skicka till dig själv går ju att lösa genom att skapa ett nytt Google-konto.

    Beroende på vilket program på telefonen vars notifieringar du väljer att använda dig av ser det lite olika ut. Meddelandena som kommer med notifieringarna kan kanske vara olika beroende på vilken version på Android du kör med också. Det meddelande som Tasker kan hämta från en notifiering kan också vara annorlunda än det som visas i notifieringslistan på telefonen. Jag kör med ICS 4.0.4 och för ex. WhatsApp står namnet på avsändaren överst i stor fet stil på notifieringen på notifieringslistan och början på meddelandet i liten vanlig stil under. Men det jag hämtar med Tasker är: "Meddelande från (avsändaren)".

    Mitt tips är att du testar vad Tasker hämtar åt dig för olika notifieringar från olika program och ser vad du kan använda det till:

    1. Öppna Tasker och skapa en ny profil, välj "Event" (du måste inte ange namn på profilen)
    2. Välj "UI" och sedan "Notification"
    3. "Owner Application" ställer in vilket/vilka programs notifieringar profilen ska triggas för, lämna tomt för alla notifieringar
    4. "Title" är meddelandet som Tasker hämtar från notifieringen och om detta är ställt till något triggas bara profilen om meddelandet stämmer, lämna tomt nu.
    5. Klicka på den gröna bocken
    6. Välj "New Task" och klicka på den gröna bocken
    7. Klicka på "+" -> "Alert" -> "Flash"
    8. Klicka på den gula "tagen" och scrolla ned till "Notification Title"
    9. Klicka på den gröna bocken, och på nästa skärm också

    Nu kommer du få ett flashmeddelande vid varje notifiering som visar meddelandet som Tasker hämtar

    När du har hittat en kombination som funkar är det bara att redigera profilen. I steg 3 välj program och i steg 4 välj meddelande. I steg 7, välj "+" -> "App" -> "Load App" -> välj önskat program -> grön bock -> grön bock -> Klart!

    Det går givetvis att göra på många andra sätt med andra triggers och med förbearbetning av info som hämtas av Tasker + fler villkor osv., detta var bara det första jag kom att tänka på. Testa vad som funkar för dig och de program du använder. Om du inte hittar en kombination kan alternativet vara att installera Gmail och skapa ett nytt Google-konto från vilket du kan skicka dina trigger-mail
     
    Klimpen717 gillar detta.
  9. Klimpen717

    Klimpen717 Infant Droid Medlem

    Blev medlem:
    9 jul 2012
    Inlägg:
    11
    Mottagna gillanden:
    0

    MINA ENHETER

    Jag skall nog gå på Takser idéen. Jag skall testa dina tricks och se vad jag får fram. Hoppas jag får ställa lite frågor om det behövs. Jag är som sagt inte så hemma på vare sig Android eller Tasker men jag har inga problem att följa dina instruktioner....
     
  10. Klimpen717

    Klimpen717 Infant Droid Medlem

    Blev medlem:
    9 jul 2012
    Inlägg:
    11
    Mottagna gillanden:
    0

    MINA ENHETER


    JAAAAAAAAAAA !!!

    Jag har fått det att fungera med hjälp av din guide.
    Nu kan jag via ett program på datorn (Skicka SMS från datorn) skicka ett SMS till mig själv där det exempelvis står "FTP". Då startar FTP servern och jag kan komma åt telefonen via min FTP klient. Jag kan också skicka "AIR" och då startar Air Droid och jag kommer åt det mesta därigenom. När jag är klar skickar jag "OFF" och då stängs dom två programmen eller det som är igång.

    Tack för en perfekt guide.....