<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom"
      xmlns:thr="http://purl.org/syndication/thread/1.0"
      xml:lang="en-us">
  <link rel="self" href="http://Andreas-Voit.at/feeds/blog-von-andreas-voit_tag_android.atom_1.0.links-and-content.xml" />
  <title type="text">Blog von Andreas Voit – tag: android</title>
  <id>https://andreas-voit.at/tags/android/</id>
  <link href="http://Andreas-Voit.at" />
  <icon>/favicon.ico</icon>
  <updated>2026-10-06T11:25:14+01:00</updated>
  <author>
    <name>Andreas Voit</name>
  </author>
  <subtitle type="text">Articles tagged with android from Blog von Andreas Voit</subtitle>
  <rights>All content written by Andreas Voit</rights>
  <generator uri='https://github.com/novoid/lazyblorg'>Generated from Org-mode source code using lazyblorg which is written in Python. Industrial-strength technology, baby.</generator>
<!-- ############################################################################################# -->
<entry>
    <title type="text">Android Automate Script zur Senden der aktuellen GPS-Position</title>
    <link href='https://Andreas-Voit.at/2021/07/28/automateGPSSMS' />
    <published>2021-07-28T20:36:00+01:00</published>
    <updated>2021-07-28T20:36:00+01:00</updated>
    <category scheme='https://Andreas-Voit.at/tags/gis' term='gis' />
    <category scheme='https://Andreas-Voit.at/tags/osm' term='osm' />
    <category scheme='https://Andreas-Voit.at/tags/android' term='android' />
    <category scheme='https://Andreas-Voit.at/tags/howto' term='howto' />
    <category scheme='https://Andreas-Voit.at/autotags/language' term='language:deutsch' />
    <summary type='html'>
&lt;p&gt;

Dieser Blogbeitrag ist eine Aktualisierung meines vorherigen Beitrages. Hintergrund eine kleine notwendige Anpassung im Skript zum Senden der GPS-Position. In der ersten Version habe ich vergessen den GPS Fix Zeitpunkt zu definieren. Dies hat dazu geführt, dass beim Empfänger eine alte GPS-Position angezeigt wurde. Des Weiteren habe ich die beiden Github-Projekte zu einem &lt;a href="https://github.com/diovon/Automate_Script-Send_GPS-Position_SMS"&gt;Projekt&lt;/a&gt; zusammengefasst.

&lt;/p&gt;


&lt;p&gt;

In diesem Blogbeitrag möchte ich euch ein kleines Skript von mir vorstellen, mit dem auf einem Android Smartphone per SMS-Anfrage automatisch eine SMS mit GPS-Positionsdaten gesendet wird. Bei dem Skript handelt es sich um ein &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt;-Skript. &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt; ist eine App die es ermöglicht bestimmte Aufgaben am Android Smartphone zu automatisieren. Die Skripterstellung erfolgt grafisch in Form eines Flussdiagramms und man benötigt keine großartigen Programmiererfahrungen.

&lt;/p&gt;

    </summary>    <content type='html'>

&lt;p&gt;

Dieser Blogbeitrag ist eine Aktualisierung meines vorherigen Beitrages. Hintergrund eine kleine notwendige Anpassung im Skript zum Senden der GPS-Position. In der ersten Version habe ich vergessen den GPS Fix Zeitpunkt zu definieren. Dies hat dazu geführt, dass beim Empfänger eine alte GPS-Position angezeigt wurde. Des Weiteren habe ich die beiden Github-Projekte zu einem &lt;a href="https://github.com/diovon/Automate_Script-Send_GPS-Position_SMS"&gt;Projekt&lt;/a&gt; zusammengefasst.

&lt;/p&gt;


&lt;p&gt;

In diesem Blogbeitrag möchte ich euch ein kleines Skript von mir vorstellen, mit dem auf einem Android Smartphone per SMS-Anfrage automatisch eine SMS mit GPS-Positionsdaten gesendet wird. Bei dem Skript handelt es sich um ein &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt;-Skript. &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt; ist eine App die es ermöglicht bestimmte Aufgaben am Android Smartphone zu automatisieren. Die Skripterstellung erfolgt grafisch in Form eines Flussdiagramms und man benötigt keine großartigen Programmiererfahrungen.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Motivation für das Skript und alternative Apps&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Die Motivation für das Skript bestand darin, dass meine Eltern eine Möglichkeit benötigten, wenn mein Vater auf längeren Radtouren unterwegs ist, meine Mutter die Möglichkeit hat, seine Position ohne eine Interaktion seinerseits zu erhalten. Zunächst machten meinen Bruder und mich auf die Websuche, ob wir für diesen Anwendungsfall auf bestehende Apps zurückgreifen können. Dabei stießen wir schnell auf Testberichte und Sammlungen von Tracking Apps für Freunde und Familien, wie diese &lt;a href="https://www.reviewgeek.com/2241/use-these-7-great-apps-to-share-your-location-with-friends-and-family/"&gt;hier&lt;/a&gt;. Dabei gibt es kostenpflichtige und freierhältliche Apps. Die meisten Apps verwenden Cloud-Dienste. Da wir beide nicht so die Fans von Cloud-Services sind und gerne Wissen, was mit den versendeten Daten passiert, sind diese für uns ausgeschieden. Aus meiner lokalen OpenstreetMap Community habe ich von &lt;a href="https://play.google.com/store/apps/details?id=info.varden.hauk&amp;amp;hl=de_AT&amp;amp;gl=US"&gt;hauk&lt;/a&gt; oder Nextcloud-Apps erfahren. Da ich allerdings über keinen eigenen Server verfüge, sind auch diese Anwendungen ausgeschieden. Da mein Bruder und ich in der Vergangenheit schon diverse Aufgaben via &lt;a href="https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&amp;amp;hl=de&amp;amp;gl=US"&gt;Tasker-App&lt;/a&gt; automatisiert haben, kam die Idee dies über diese Schiene zu probieren. Ich habe mich für die &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate-App&lt;/a&gt; entschieden, weil diese kostenlos ist und ich in den letzten Jahren auf diese App umgestiegen bin. Anfangs dachten wir, dass wir mit dieser Methode scheitern werden, weil meine Eltern die &lt;a href="https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms&amp;amp;hl=de&amp;amp;gl=US"&gt;Signal-App&lt;/a&gt; auch als SMS-App verwenden. Allerdings haben erste Versuche gezeigt, dass die SMS von der &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate-App&lt;/a&gt; gelesen werden können.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Voraussetzungen&lt;/h2&gt;&lt;/header&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a
href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt;
muss am Android Gerät installiert sein&lt;/li&gt;
&lt;li&gt;Für den SMS-Versand muss eine SIM-Karte im Gerät eingelegt sein&lt;/li&gt;
&lt;li&gt;(optional) &lt;a
href="https://play.google.com/store/apps/details?id=net.osmand&amp;amp;hl=de&amp;amp;gl=US"&gt;OSMAnd-App&lt;/a&gt;
zur Anzeige der GPS-Position. Die generierten GPS-Daten lassen sich
allerdings auch in einem Web-Browser (Chrome, Firefox, …)
darstellen.&lt;/li&gt;
&lt;/ul&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Das Skript&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Um den oben beschriebenen Anwendungsfall abzudecken, benötige ich zwei Skripte. Ein Skript fragt nach der GPS-Position nach, das andere Skript antwortet aufgrund der SMS mit den GPS-Positionsdaten.

&lt;/p&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Skript zur Anfrage der GPS-Position&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Dieses Skript ist sehr einfach aufgebaut. Es besteht im Grunde nur aus der Funktion, eine SMS mit einem bestimmten Text an eine definierte Nummer zu senden. Die Nummer wird dabei in einem eigenen Variablen Block gesetzt. Dabei ist es wichtig, dass die Telefonnummer zwischen zwei Hochkomma gesetzt wird, damit sie als Text erkannt wird, vor allem wenn man wie ich die Ländervorwahl verwendet.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-TelephoneNumSet%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-TelephoneNumSet%20-%20scaled%20width%20560.jpg" alt="Die Telefonnummer als Variable speichern" width="TMPREPLACEMEwidthSTART-20210717-TelephoneNumSet - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-TelephoneNumSet - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Die Telefonnummer als Variable speichern &lt;a class="figcaption-clue-link" href="20210717-TelephoneNumSet%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Bei dem Funktions-Block für die ausgehende SMS ist bei der Telefonnummer die zuvor definierte Variable zu verwenden. Die Option "Hide from messaging app" hatte bei mir keine Auswirkung, die SMS werden in Signal trotzdem angezeigt.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-SMS_Send_Request%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-SMS_Send_Request%20-%20scaled%20width%20560.jpg" alt="Funktionsblock zum Versenden der Anfrage-SMS" width="TMPREPLACEMEwidthSTART-20210717-SMS_Send_Request - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-SMS_Send_Request - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Funktionsblock zum Versenden der Anfrage-SMS &lt;a class="figcaption-clue-link" href="20210717-SMS_Send_Request%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Das fertige Skript schaut wie folgt im Ablauf aus.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="SendPositionRequestSMS%20-%20scaled%20width%201500.png"&gt;
  &lt;img src="SendPositionRequestSMS%20-%20scaled%20width%20560.png" alt="Aufbau des Skripts zur Anfrage der GPS-Position per SMS" width="TMPREPLACEMEwidthSTART-SendPositionRequestSMS - scaled width 560.png-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-SendPositionRequestSMS - scaled width 560.png-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Aufbau des Skripts zur Anfrage der GPS-Position per SMS &lt;a class="figcaption-clue-link" href="SendPositionRequestSMS%20-%20scaled%20width%201500.png"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Das Skript hab ich &lt;a href="https://github.com/diovon/Automate_Script-Send_GPS-Position_SMS/blob/main/Send_Position_Request_SMS.flo"&gt;hier&lt;/a&gt; als flo-Datei bereitgestellt. Diese Datei muss nur mehr in die &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate-App&lt;/a&gt; importiert und Telefonnummer angepasst werden.

&lt;/p&gt;


&lt;p&gt;

Um das Skript auszuführen, habe ich es meinen Eltern als App-Starter auf den Homescreen gelegt.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-Install_Home_Screen%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-Install_Home_Screen%20-%20scaled%20width%20560.jpg" alt="Install Home Screen Shortcut für das direkte Ausführen des Skripts über den Homescreen" width="TMPREPLACEMEwidthSTART-20210717-Install_Home_Screen - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-Install_Home_Screen - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Install Home Screen Shortcut für das direkte Ausführen des Skripts über den Homescreen &lt;a class="figcaption-clue-link" href="20210717-Install_Home_Screen%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Skript zur Sendung der GPS-Position&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Das zweite Skript beschäftigt sich mit dem Empfang der SMS aus Skript 1 und dem Versand der GPS-Position.

&lt;/p&gt;


&lt;p&gt;

Auch hier wurde zuvor die Telefonnummer als Variable definiert, um sie im Weiteren Verlauf nicht ständig eingeben zu müssen und so Tippfehler vermeidet. Des Weiteren wurde der Nachrichtentext ebenfalls als Variable definiert, da die Position nur aufgrund eines bestimmten Textes versendet werden soll.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-SMS_Get%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-SMS_Get%20-%20scaled%20width%20560.jpg" alt="Warten auf den Empfang der SMS zur Positionsanfrage" width="TMPREPLACEMEwidthSTART-20210717-SMS_Get - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-SMS_Get - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Warten auf den Empfang der SMS zur Positionsanfrage &lt;a class="figcaption-clue-link" href="20210717-SMS_Get%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Danach hab ich einen Zwischenblock eingebaut, der überprüft, ob GPS überhaupt aktiv läuft. Wenn nicht, dann wird keine SMS versendet und es wird erneut auf eine neue SMS gewartet. Sicherlich wäre es praktisch, wenn das Skript die GPS-Funktion selbstständig aktiviert, dies wird allerdings von Android aufgrund von Sicherheitsrichtlinien nicht erlaubt. Ist GPS aktiv, erfolgt die Ermittlung der GPS-Position. Für die beiden Koordinaten setze ich je eine Variable, die im weiteren Verlauf zur Anwendung kommen.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-Location_get%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-Location_get%20-%20scaled%20width%20560.jpg" alt="Automate Block zur Ermittlung der GPS-Position" width="TMPREPLACEMEwidthSTART-20210717-Location_get - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-Location_get - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Automate Block zur Ermittlung der GPS-Position &lt;a class="figcaption-clue-link" href="20210717-Location_get%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

In diesem Block ist es wichtig für GPS-FIX den Wert 0 zu definieren, denn dadurch wird immer die aktuelle GPS-Position ermittelt und in weiterer Folge versendet.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210728-GPS_Set_Fix_time%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210728-GPS_Set_Fix_time%20-%20scaled%20width%20560.jpg" alt="Wert für GPS-FIX auf 0 setzen" width="TMPREPLACEMEwidthSTART-20210728-GPS_Set_Fix_time - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210728-GPS_Set_Fix_time - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Wert für GPS-FIX auf 0 setzen &lt;a class="figcaption-clue-link" href="20210728-GPS_Set_Fix_time%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Die zuvor erstellten Variablen für die beiden Koordinaten kommen nun zum Einsatz. Um dem SMS-Empfänger eine komfortable Möglichkeit der Anzeige der GPS-Position zu bieten, habe ich mich für die Verwendung eines OSMAnd-Links entschieden. In der &lt;a href="https://play.google.com/store/apps/details?id=net.osmand&amp;amp;hl=de&amp;amp;gl=US"&gt;OSMAnd-App&lt;/a&gt; ist es nämlich möglich Positionen per Weblink zu teilen. Der Link hat die Form von &lt;a href="https://osmand.net-go?lat="wert"&amp;amp;lon="wertLAT"&amp;amp;z="wertLONG""&gt;https://osmand.net-go?lat="wert"&amp;amp;lon="wertLAT"&amp;amp;z="wertLONG"&lt;/a&gt; . In Automate müssen daher nur mehr die zuvor erstellten Variablen in die URL eingesetzt werden. Der Link wird in einer eigenen Variable gespeichert, um beim Versenden der SMS auf diese zugreifen zu können.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-Generate_Osmand_url%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-Generate_Osmand_url%20-%20scaled%20width%20560.jpg" alt="Generierung des SMS Textes mit den Koorindaten als OSMAnd Link" width="TMPREPLACEMEwidthSTART-20210717-Generate_Osmand_url - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-Generate_Osmand_url - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Generierung des SMS Textes mit den Koorindaten als OSMAnd Link &lt;a class="figcaption-clue-link" href="20210717-Generate_Osmand_url%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Beim Versender der SMS kann wieder auf die Variable der Telefonnummer, die bereits beim Empfang zum Einsatz kam, verwendet werden. Unter "Message" wird die vorher erstelle Variable "varMessage", die den OSMAnd-Link enthält, eingefügt.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-SMS_Send_GPS%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-SMS_Send_GPS%20-%20scaled%20width%20560.jpg" alt="Funktionsblock zum Versenden der SMS mit den OSMAnd-Link" width="TMPREPLACEMEwidthSTART-20210717-SMS_Send_GPS - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-SMS_Send_GPS - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Funktionsblock zum Versenden der SMS mit den OSMAnd-Link &lt;a class="figcaption-clue-link" href="20210717-SMS_Send_GPS%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Der komplette Ablauf des Skriptes ist in der nachfolgenden Grafik ersichtlich. Wie beim vorherigen Skript stelle ich es als &lt;a href="https://github.com/diovon/Automate_Script-Send_GPS-Position_SMS/blob/main/Send_Position_SMS.flo"&gt;flo-Datei&lt;/a&gt; via github zur Verfügung.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="SendPositionSMS%20-%20scaled%20width%201500.png"&gt;
  &lt;img src="SendPositionSMS%20-%20scaled%20width%20560.png" alt="Aufbau des Skripts zum Senden der GPS-Position per SMS" width="TMPREPLACEMEwidthSTART-SendPositionSMS - scaled width 560.png-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-SendPositionSMS - scaled width 560.png-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Aufbau des Skripts zum Senden der GPS-Position per SMS &lt;a class="figcaption-clue-link" href="SendPositionSMS%20-%20scaled%20width%201500.png"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Bei diesem Skript hab ich mich dazu entschieden, dass es ständig im Hintergrund laufen darf. Das es nach einem Smartphone Neustart ebenfalls wieder läuft, habe ich die entsprechende Option in der &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate-App&lt;/a&gt; aktiviert.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-Run_on_startup%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-Run_on_startup%20-%20scaled%20width%20560.jpg" alt="Aktivierung der Option, dass Skript nach Smartphone Neustart automatisch gestartet wird" width="TMPREPLACEMEwidthSTART-20210717-Run_on_startup - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-Run_on_startup - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Aktivierung der Option, dass Skript nach Smartphone Neustart automatisch gestartet wird &lt;a class="figcaption-clue-link" href="20210717-Run_on_startup%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Finaler Test&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Für den Test hier habe ich die beiden Skript nur auf meinem Smartphone ausgeführt. Wie in der folgenden Abbildung zu sehen ist, wird sowohl die Anfrage-SMS als auch die SMS mit dem OSMAnd-Link angezeigt.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-SMS_Test%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-SMS_Test%20-%20scaled%20width%20560.jpg" alt="Anzeige der SMS in Signal im Zuge eines Funktionstests" width="TMPREPLACEMEwidthSTART-20210717-SMS_Test - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-SMS_Test - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Anzeige der SMS in Signal im Zuge eines Funktionstests &lt;a class="figcaption-clue-link" href="20210717-SMS_Test%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Wird der OSMAnd-Link in der SMS angeklickt, kann dieser entweder in der &lt;a href="https://play.google.com/store/apps/details?id=net.osmand&amp;amp;hl=de&amp;amp;gl=US"&gt;OSMAnd-App&lt;/a&gt; oder einem Webbrowser angezeigt werden. Nachfolgende Abbildung zeigt die Anzeige in der &lt;a href="https://play.google.com/store/apps/details?id=net.osmand&amp;amp;hl=de&amp;amp;gl=US"&gt;OSMAnd-App&lt;/a&gt;.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-OSMAnd_View%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-OSMAnd_View%20-%20scaled%20width%20560.jpg" alt="Anzeige der Position in OSMAnd" width="TMPREPLACEMEwidthSTART-20210717-OSMAnd_View - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-OSMAnd_View - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Anzeige der Position in OSMAnd &lt;a class="figcaption-clue-link" href="20210717-OSMAnd_View%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Sicherlich lässt sich das Skript um weitere Überprüfungen erweitern. Des Weiteren wird sich zeigen, wie sich das ständig aktive Skript auf den Akku-Verbrauch auswirkt. Hier kann dann eine Option eingebaut werden, dass nur bei Bedarf das Skript gestartet wird.

&lt;/p&gt;

    </content>
    <id>https://andreas-voit.at/2021/07/28/automateGPSSMS-from-tag-feed-with-content</id>
</entry>
<!-- ############################################################################################# -->
<entry>
    <title type="text">Android Automate Script zur Senden der aktuellen GPS-Position</title>
    <link href='https://Andreas-Voit.at/2021/07/17/automateGPSSMS' />
    <published>2021-07-17T20:36:00+01:00</published>
    <updated>2021-07-17T20:36:00+01:00</updated>
    <category scheme='https://Andreas-Voit.at/tags/gis' term='gis' />
    <category scheme='https://Andreas-Voit.at/tags/osm' term='osm' />
    <category scheme='https://Andreas-Voit.at/tags/android' term='android' />
    <category scheme='https://Andreas-Voit.at/tags/howto' term='howto' />
    <category scheme='https://Andreas-Voit.at/autotags/language' term='language:deutsch' />
    <summary type='html'>
&lt;p&gt;

In diesem Blogbeitrag möchte ich euch ein kleines Skript von mir vorstellen, mit dem auf einem Android Smartphone per SMS-Anfrage automatisch eine SMS mit GPS-Positionsdaten gesendet wird. Bei dem Skript handelt es sich um ein &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt;-Skript. &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt; ist eine App die es ermöglicht bestimmte Aufgaben am Android Smartphone zu automatisieren. Die Skripterstellung erfolgt grafisch in Form eines Flussdiagramms und man benötigt keine großartigen Programmiererfahrungen.

&lt;/p&gt;

    </summary>    <content type='html'>

&lt;p&gt;

In diesem Blogbeitrag möchte ich euch ein kleines Skript von mir vorstellen, mit dem auf einem Android Smartphone per SMS-Anfrage automatisch eine SMS mit GPS-Positionsdaten gesendet wird. Bei dem Skript handelt es sich um ein &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt;-Skript. &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt; ist eine App die es ermöglicht bestimmte Aufgaben am Android Smartphone zu automatisieren. Die Skripterstellung erfolgt grafisch in Form eines Flussdiagramms und man benötigt keine großartigen Programmiererfahrungen.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Motivation für das Skript und alternative Apps&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Die Motivation für das Skript bestand darin, dass meine Eltern eine Möglichkeit benötigten, wenn mein Vater auf längeren Radtouren unterwegs ist, meine Mutter die Möglichkeit hat, seine Position ohne eine Interaktion seinerseits zu erhalten. Zunächst machten meinen Bruder und mich auf die Websuche, ob wir für diesen Anwendungsfall auf bestehende Apps zurückgreifen können. Dabei stießen wir schnell auf Testberichte und Sammlungen von Tracking Apps für Freunde und Familien, wie diese &lt;a href="https://www.reviewgeek.com/2241/use-these-7-great-apps-to-share-your-location-with-friends-and-family/"&gt;hier&lt;/a&gt;. Dabei gibt es kostenpflichtige und freierhältliche Apps. Die meisten Apps verwenden Cloud-Dienste. Da wir beide nicht so die Fans von Cloud-Services sind und gerne Wissen, was mit den versendeten Daten passiert, sind diese für uns ausgeschieden. Aus meiner lokalen OpenstreetMap Community habe ich von &lt;a href="https://play.google.com/store/apps/details?id=info.varden.hauk&amp;amp;hl=de_AT&amp;amp;gl=US"&gt;hauk&lt;/a&gt; oder Nextcloud-Apps erfahren. Da ich allerdings über keinen eigenen Server verfüge, sind auch diese Anwendungen ausgeschieden. Da mein Bruder und ich in der Vergangenheit schon diverse Aufgaben via &lt;a href="https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&amp;amp;hl=de&amp;amp;gl=US"&gt;Tasker-App&lt;/a&gt; automatisiert haben, kam die Idee dies über diese Schiene zu probieren. Ich habe mich für die &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate-App&lt;/a&gt; entschieden, weil diese kostenlos ist und ich in den letzten Jahren auf diese App umgestiegen bin. Anfangs dachten wir, dass wir mit dieser Methode scheitern werden, weil meine Eltern die &lt;a href="https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms&amp;amp;hl=de&amp;amp;gl=US"&gt;Signal-App&lt;/a&gt; auch als SMS-App verwenden. Allerdings haben erste Versuche gezeigt, dass die SMS von der &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate-App&lt;/a&gt; gelesen werden können.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Voraussetzungen&lt;/h2&gt;&lt;/header&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a
href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate&lt;/a&gt;
muss am Android Gerät installiert sein&lt;/li&gt;
&lt;li&gt;Für den SMS-Versand muss eine SIM-Karte im Gerät eingelegt sein&lt;/li&gt;
&lt;li&gt;(optional) &lt;a
href="https://play.google.com/store/apps/details?id=net.osmand&amp;amp;hl=de&amp;amp;gl=US"&gt;OSMAnd-App&lt;/a&gt;
zur Anzeige der GPS-Position. Die generierten GPS-Daten lassen sich
allerdings auch in einem Web-Browser (Chrome, Firefox, …)
darstellen.&lt;/li&gt;
&lt;/ul&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Das Skript&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Um den oben beschriebenen Anwendungsfall abzudecken, benötige ich zwei Skripte. Ein Skript fragt nach der GPS-Position nach, das andere Skript antwortet aufgrund der SMS mit den GPS-Positionsdaten.

&lt;/p&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Skript zur Anfrage der GPS-Position&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Dieses Skript ist sehr einfach aufgebaut. Es besteht im Grunde nur aus der Funktion, eine SMS mit einem bestimmten Text an eine definierte Nummer zu senden. Die Nummer wird dabei in einem eigenen Variablen Block gesetzt. Dabei ist es wichtig, dass die Telefonnummer zwischen zwei Hochkomma gesetzt wird, damit sie als Text erkannt wird, vor allem wenn man wie ich die Ländervorwahl verwendet.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-TelephoneNumSet%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-TelephoneNumSet%20-%20scaled%20width%20560.jpg" alt="Die Telefonnummer als Variable speichern" width="TMPREPLACEMEwidthSTART-20210717-TelephoneNumSet - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-TelephoneNumSet - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Die Telefonnummer als Variable speichern &lt;a class="figcaption-clue-link" href="20210717-TelephoneNumSet%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Bei dem Funktions-Block für die ausgehende SMS ist bei der Telefonnummer die zuvor definierte Variable zu verwenden. Die Option "Hide from messaging app" hatte bei mir keine Auswirkung, die SMS werden in Signal trotzdem angezeigt.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-SMS_Send_Request%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-SMS_Send_Request%20-%20scaled%20width%20560.jpg" alt="Funktionsblock zum Versenden der Anfrage-SMS" width="TMPREPLACEMEwidthSTART-20210717-SMS_Send_Request - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-SMS_Send_Request - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Funktionsblock zum Versenden der Anfrage-SMS &lt;a class="figcaption-clue-link" href="20210717-SMS_Send_Request%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Das fertige Skript schaut wie folgt im Ablauf aus.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="SendPositionRequestSMS%20-%20scaled%20width%201500.png"&gt;
  &lt;img src="SendPositionRequestSMS%20-%20scaled%20width%20560.png" alt="Aufbau des Skripts zur Anfrage der GPS-Position per SMS" width="TMPREPLACEMEwidthSTART-SendPositionRequestSMS - scaled width 560.png-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-SendPositionRequestSMS - scaled width 560.png-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Aufbau des Skripts zur Anfrage der GPS-Position per SMS &lt;a class="figcaption-clue-link" href="SendPositionRequestSMS%20-%20scaled%20width%201500.png"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Das Skript hab ich &lt;a href="https://github.com/diovon/Automate_Script-SMS_Send_Request"&gt;hier&lt;/a&gt; als flo-Datei bereitgestellt. Diese Datei muss nur mehr in die &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate-App&lt;/a&gt; importiert und Telefonnummer angepasst werden.

&lt;/p&gt;


&lt;p&gt;

Um das Skript auszuführen, habe ich es meinen Eltern als App-Starter auf den Homescreen gelegt.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-Install_Home_Screen%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-Install_Home_Screen%20-%20scaled%20width%20560.jpg" alt="Install Home Screen Shortcut für das direkte Ausführen des Skripts über den Homescreen" width="TMPREPLACEMEwidthSTART-20210717-Install_Home_Screen - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-Install_Home_Screen - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Install Home Screen Shortcut für das direkte Ausführen des Skripts über den Homescreen &lt;a class="figcaption-clue-link" href="20210717-Install_Home_Screen%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Skript zur Sendung der GPS-Position&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Das zweite Skript beschäftigt sich mit dem Empfang der SMS aus Skript 1 und dem Versand der GPS-Position.

&lt;/p&gt;


&lt;p&gt;

Auch hier wurde zuvor die Telefonnummer als Variable definiert, um sie im Weiteren Verlauf nicht ständig eingeben zu müssen und so Tippfehler vermeidet. Des Weiteren wurde der Nachrichtentext ebenfalls als Variable definiert, da die Position nur aufgrund eines bestimmten Textes versendet werden soll.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-SMS_Get%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-SMS_Get%20-%20scaled%20width%20560.jpg" alt="Warten auf den Empfang der SMS zur Positionsanfrage" width="TMPREPLACEMEwidthSTART-20210717-SMS_Get - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-SMS_Get - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Warten auf den Empfang der SMS zur Positionsanfrage &lt;a class="figcaption-clue-link" href="20210717-SMS_Get%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Danach hab ich einen Zwischenblock eingebaut, der überprüft, ob GPS überhaupt aktiv läuft. Wenn nicht, dann wird keine SMS versendet und es wird erneut auf eine neue SMS gewartet. Sicherlich wäre es praktisch, wenn das Skript die GPS-Funktion selbstständig aktiviert, dies wird allerdings von Android aufgrund von Sicherheitsrichtlinien nicht erlaubt. Ist GPS aktiv, erfolgt die Ermittlung der GPS-Position. Für die beiden Koordinaten setze ich je eine Variable, die im weiteren Verlauf zur Anwendung kommen.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-Location_get%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-Location_get%20-%20scaled%20width%20560.jpg" alt="Automate Block zur Ermittlung der GPS-Position" width="TMPREPLACEMEwidthSTART-20210717-Location_get - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-Location_get - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Automate Block zur Ermittlung der GPS-Position &lt;a class="figcaption-clue-link" href="20210717-Location_get%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Die zuvor erstellten Variablen für die beiden Koordinaten kommen nun zum Einsatz. Um dem SMS-Empfänger eine komfortable Möglichkeit der Anzeige der GPS-Position zu bieten, habe ich mich für die Verwendung eines OSMAnd-Links entschieden. In der &lt;a href="https://play.google.com/store/apps/details?id=net.osmand&amp;amp;hl=de&amp;amp;gl=US"&gt;OSMAnd-App&lt;/a&gt; ist es nämlich möglich Positionen per Weblink zu teilen. Der Link hat die Form von &lt;a href="https://osmand.net-go?lat="wert"&amp;amp;lon="wertLAT"&amp;amp;z="wertLONG""&gt;https://osmand.net-go?lat="wert"&amp;amp;lon="wertLAT"&amp;amp;z="wertLONG"&lt;/a&gt; . In Automate müssen daher nur mehr die zuvor erstellten Variablen in die URL eingesetzt werden. Der Link wird in einer eigenen Variable gespeichert, um beim Versenden der SMS auf diese zugreifen zu können.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-Generate_Osmand_url%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-Generate_Osmand_url%20-%20scaled%20width%20560.jpg" alt="Generierung des SMS Textes mit den Koorindaten als OSMAnd Link" width="TMPREPLACEMEwidthSTART-20210717-Generate_Osmand_url - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-Generate_Osmand_url - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Generierung des SMS Textes mit den Koorindaten als OSMAnd Link &lt;a class="figcaption-clue-link" href="20210717-Generate_Osmand_url%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Beim Versender der SMS kann wieder auf die Variable der Telefonnummer, die bereits beim Empfang zum Einsatz kam, verwendet werden. Unter "Message" wird die vorher erstelle Variable "varMessage", die den OSMAnd-Link enthält, eingefügt.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-SMS_Send_GPS%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-SMS_Send_GPS%20-%20scaled%20width%20560.jpg" alt="Funktionsblock zum Versenden der SMS mit den OSMAnd-Link" width="TMPREPLACEMEwidthSTART-20210717-SMS_Send_GPS - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-SMS_Send_GPS - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Funktionsblock zum Versenden der SMS mit den OSMAnd-Link &lt;a class="figcaption-clue-link" href="20210717-SMS_Send_GPS%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Der komplette Ablauf des Skriptes ist in der nachfolgenden Grafik ersichtlich. Wie beim vorherigen Skript stelle ich es als &lt;a href="https://github.com/diovon/Automate_Script-SMS_Send_Position_SMS"&gt;flo-Datei&lt;/a&gt; via github zur Verfügung.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="SendPositionSMS%20-%20scaled%20width%201500.png"&gt;
  &lt;img src="SendPositionSMS%20-%20scaled%20width%20560.png" alt="Aufbau des Skripts zum Senden der GPS-Position per SMS" width="TMPREPLACEMEwidthSTART-SendPositionSMS - scaled width 560.png-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-SendPositionSMS - scaled width 560.png-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Aufbau des Skripts zum Senden der GPS-Position per SMS &lt;a class="figcaption-clue-link" href="SendPositionSMS%20-%20scaled%20width%201500.png"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Bei diesem Skript hab ich mich dazu entschieden, dass es ständig im Hintergrund laufen darf. Das es nach einem Smartphone Neustart ebenfalls wieder läuft, habe ich die entsprechende Option in der &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=de&amp;amp;gl=US"&gt;Automate-App&lt;/a&gt; aktiviert.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-Run_on_startup%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-Run_on_startup%20-%20scaled%20width%20560.jpg" alt="Aktivierung der Option, dass Skript nach Smartphone Neustart automatisch gestartet wird" width="TMPREPLACEMEwidthSTART-20210717-Run_on_startup - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-Run_on_startup - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Aktivierung der Option, dass Skript nach Smartphone Neustart automatisch gestartet wird &lt;a class="figcaption-clue-link" href="20210717-Run_on_startup%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Finaler Test&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Für den Test hier habe ich die beiden Skript nur auf meinem Smartphone ausgeführt. Wie in der folgenden Abbildung zu sehen ist, wird sowohl die Anfrage-SMS als auch die SMS mit dem OSMAnd-Link angezeigt.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-SMS_Test%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-SMS_Test%20-%20scaled%20width%20560.jpg" alt="Anzeige der SMS in Signal im Zuge eines Funktionstests" width="TMPREPLACEMEwidthSTART-20210717-SMS_Test - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-SMS_Test - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Anzeige der SMS in Signal im Zuge eines Funktionstests &lt;a class="figcaption-clue-link" href="20210717-SMS_Test%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Wird der OSMAnd-Link in der SMS angeklickt, kann dieser entweder in der &lt;a href="https://play.google.com/store/apps/details?id=net.osmand&amp;amp;hl=de&amp;amp;gl=US"&gt;OSMAnd-App&lt;/a&gt; oder einem Webbrowser angezeigt werden. Nachfolgende Abbildung zeigt die Anzeige in der &lt;a href="https://play.google.com/store/apps/details?id=net.osmand&amp;amp;hl=de&amp;amp;gl=US"&gt;OSMAnd-App&lt;/a&gt;.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;a href="20210717-OSMAnd_View%20-%20scaled%20width%201500.jpg"&gt;
  &lt;img src="20210717-OSMAnd_View%20-%20scaled%20width%20560.jpg" alt="Anzeige der Position in OSMAnd" width="TMPREPLACEMEwidthSTART-20210717-OSMAnd_View - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20210717-OSMAnd_View - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;/a&gt;
&lt;figcaption&gt;Anzeige der Position in OSMAnd &lt;a class="figcaption-clue-link" href="20210717-OSMAnd_View%20-%20scaled%20width%201500.jpg"&gt;(klicken für größere Version)&lt;/a&gt;&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Sicherlich lässt sich das Skript um weitere Überprüfungen erweitern. Des Weiteren wird sich zeigen, wie sich das ständig aktive Skript auf den Akku-Verbrauch auswirkt. Hier kann dann eine Option eingebaut werden, dass nur bei Bedarf das Skript gestartet wird.

&lt;/p&gt;

    </content>
    <id>https://andreas-voit.at/2021/07/17/automateGPSSMS-from-tag-feed-with-content</id>
</entry>
<!-- ############################################################################################# -->
<entry>
    <title type="text">PaMu - Slides Mini</title>
    <link href='https://Andreas-Voit.at/2020/11/10/pamu' />
    <published>2020-11-10T21:55:00+01:00</published>
    <updated>2020-11-10T21:55:00+01:00</updated>
    <category scheme='https://Andreas-Voit.at/tags/android' term='android' />
    <category scheme='https://Andreas-Voit.at/autotags/language' term='language:deutsch' />
    <summary type='html'>
&lt;p&gt;

Leider sind mir vor Kurzem meine geliebten PaMus heruntergefallen. Nein, nicht beim Tragen aus dem Ohr, sondern blöderweise, bevor ich sie in die Aufbewahrungsbox legen wollte. Ein Kopfhörer hat sich in 3 Teile zerlegt und der andere ist heil geblieben. Da ich die PaMus sehr gerne unterwegs verwende, vor allem seitdem ich nach Wien pendeln muss, musste ich schnell für Ersatz sorgen. Ich entschied mich dabei für die &lt;a href="https://padmate-tech.com/products/pamu-slide-mini"&gt;PaMu Slide Mini&lt;/a&gt;. Da ich vor ca. 2 Jahren bereits einen Blogbeitrag zu den &lt;a href="https://Andreas-Voit.at/2018/05/14/pamu"&gt;PaMus&lt;/a&gt; geschrieben habe, dachte ich mir, dass ich euch von meinen Erfahrungen mit den Slide Minis ebenfalls berichte.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="http://Andreas-Voit.at/2020/11/10/pamu/http://Andreas-Voit.at/2020/11/10/pamu/http://Andreas-Voit.at/2020/11/10/pamu/20200930_Ladestation%20-%20scaled%20width%20560.jpg" alt="PaMu Slides Mini in der Ladestation" width="TMPREPLACEMEwidthSTART-20200930_Ladestation - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20200930_Ladestation - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;PaMu Slide Mini in der Ladestation&lt;/figcaption&gt;
&lt;/figure&gt;

    </summary>    <content type='html'>

&lt;p&gt;

Leider sind mir vor Kurzem meine geliebten PaMus heruntergefallen. Nein, nicht beim Tragen aus dem Ohr, sondern blöderweise, bevor ich sie in die Aufbewahrungsbox legen wollte. Ein Kopfhörer hat sich in 3 Teile zerlegt und der andere ist heil geblieben. Da ich die PaMus sehr gerne unterwegs verwende, vor allem seitdem ich nach Wien pendeln muss, musste ich schnell für Ersatz sorgen. Ich entschied mich dabei für die &lt;a href="https://padmate-tech.com/products/pamu-slide-mini"&gt;PaMu Slide Mini&lt;/a&gt;. Da ich vor ca. 2 Jahren bereits einen Blogbeitrag zu den &lt;a href="https://Andreas-Voit.at/2018/05/14/pamu"&gt;PaMus&lt;/a&gt; geschrieben habe, dachte ich mir, dass ich euch von meinen Erfahrungen mit den Slide Minis ebenfalls berichte.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="20200930_Ladestation%20-%20scaled%20width%20560.jpg" alt="PaMu Slides Mini in der Ladestation" width="TMPREPLACEMEwidthSTART-20200930_Ladestation - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20200930_Ladestation - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;PaMu Slide Mini in der Ladestation&lt;/figcaption&gt;
&lt;/figure&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;PaMu Slides Mini- Warum?&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Ihr fragt euch sicherlich, was ist so toll dran? Es gibt ja schon jede Menge Headsets von anderen Anbietern, warum schon wieder PaMus?

&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Never fall out - hm, bis jetzt sind mir die PaMus beim Tragen nicht
aus dem Ohr herausgefallen&lt;/li&gt;
&lt;li&gt;Hi-Fi Audio Sound - Ich bin sehr zufrieden mit der Tonqualität&lt;/li&gt;
&lt;li&gt;Auto connects - Mit Bluetooth 5.0 ist die Verbindung schnell
hergestellt.&lt;/li&gt;
&lt;li&gt;Waterproof - Da ich auch im Regen mit dem Radfahre, oder wenn ich im
Whirlpool sitze, müssen die Kopfhörer das aushalten.&lt;/li&gt;
&lt;li&gt;Portable Charging Pod - Ich finde die Ladefunktion sehr
praktisch&lt;/li&gt;
&lt;li&gt;Touch Control - Die Bedienung ist einfach und funktioniert gut&lt;/li&gt;
&lt;/ol&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Erfahrung&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Die PaMu Slide Mini sind sehr schön verpackt, wobei die Plastik-Klebefolie hätte man ruhig weglassen können.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="20200930_Unpacking%20-%20scaled%20width%20560.jpg" alt="Verpackung der PaMu Slide Mini" width="TMPREPLACEMEwidthSTART-20200930_Unpacking - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20200930_Unpacking - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;Verpackung der PaMu Slide Mini&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Aufgrund der Größe weist die Ladestation der PaMu Slide Mini einer kleiner Ladekapazität auf, reicht aber im Alltag durchaus. Ich komme mit der Ladestation ca. 1/2 Woche aus. Wenn sie leer wird, ist sie aber recht schnell wieder aufgeladen. Mache dies auch des Öfteren über ein Akkupack. Die Größe der Ladestation hat allerdings auch einen Vorteil. Sie passt besser in die Hosentasche und ist daher unterwegs viel praktischer.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="20200930_Pamuslidemini%20-%20scaled%20width%20560.jpg" alt="Die PaMu Slide Mini in der Ladestation" width="TMPREPLACEMEwidthSTART-20200930_Pamuslidemini - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-20200930_Pamuslidemini - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;Die PaMu Slide Mini in der Ladestation&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Ich bin mit meinem Kauf sehr zufrieden, wobei ich schon erwähnen muss, dass sich die PaMu Minis wie auch die PaMus für das Telefonieren nur begrenzt eignen. Teilweise werde ich schlecht verstanden, andere Gesprächspartner meinen allerdings, dass die Sprachqualität nicht so schlecht war. Des Weiteren habe ich den Eindruck, dass man beim Laden der Kopfhörer darauf achten muss, dass sie auch wirklich auf den Ladekontakten sitzen, denn sonst werden sie nicht geladen. Zumindest hatte ich teilweise den Eindruck, wenn ich den Deckel öffnete und dann leicht auf einen Kopfhörer drückte, erst dann das Ladelicht anging. Hatte aber noch nicht den Fall, dass sich die PaMus vollständig entladen hatten.

&lt;/p&gt;

    </content>
    <id>https://andreas-voit.at/2020/11/10/pamu-from-tag-feed-with-content</id>
</entry>
<!-- ############################################################################################# -->
<entry>
    <title type="text">PaMu - True Wireless headphone</title>
    <link href='https://Andreas-Voit.at/2018/05/14/pamu' />
    <published>2018-05-14T20:00:00+01:00</published>
    <updated>2018-05-14T20:00:00+01:00</updated>
    <category scheme='https://Andreas-Voit.at/tags/android' term='android' />
    <category scheme='https://Andreas-Voit.at/autotags/language' term='language:deutsch' />
    <summary type='html'>
&lt;p&gt;

Da ich des Öfteren auf &lt;a href="https://www.kickstarter.com"&gt;kickstarter&lt;/a&gt; und &lt;a href="https://www.indiegogo.com"&gt;indiegogo&lt;/a&gt; Projekte unterstütze, gibt es hier einen kleinen Bericht über meine neueste Erungenschaft.

&lt;/p&gt;


&lt;p&gt;

Es handelt sich um das Bluetooth Headset &lt;a href="https://www.indiegogo.com/projects/pamu-waterproof-wireless-earbuds-never-fall-out#/"&gt;PaMu&lt;/a&gt; von der Firma padmate.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="http://Andreas-Voit.at/2018/05/14/pamu/http://Andreas-Voit.at/2018/05/14/pamu/http://Andreas-Voit.at/2018/05/14/pamu/PaMu_in_pod%20-%20scaled%20width%20560.jpg" alt="PaMu in der Ladestation" width="TMPREPLACEMEwidthSTART-PaMu_in_pod - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-PaMu_in_pod - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;PaMu in der Ladestation&lt;/figcaption&gt;
&lt;/figure&gt;

    </summary>    <content type='html'>

&lt;p&gt;

Da ich des Öfteren auf &lt;a href="https://www.kickstarter.com"&gt;kickstarter&lt;/a&gt; und &lt;a href="https://www.indiegogo.com"&gt;indiegogo&lt;/a&gt; Projekte unterstütze, gibt es hier einen kleinen Bericht über meine neueste Erungenschaft.

&lt;/p&gt;


&lt;p&gt;

Es handelt sich um das Bluetooth Headset &lt;a href="https://www.indiegogo.com/projects/pamu-waterproof-wireless-earbuds-never-fall-out#/"&gt;PaMu&lt;/a&gt; von der Firma padmate.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="PaMu_in_pod%20-%20scaled%20width%20560.jpg" alt="PaMu in der Ladestation" width="TMPREPLACEMEwidthSTART-PaMu_in_pod - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-PaMu_in_pod - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;PaMu in der Ladestation&lt;/figcaption&gt;
&lt;/figure&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;PaMu - Warum?&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Ihr fragt euch sicherlich, was ist so toll dran? Es gibt ja schon jede Menge Headsets, was ist schon so besonders dran.

&lt;/p&gt;


&lt;p&gt;

Hm, ok, ich gebe es zu, es war ein spontan Kauf. Es gab aber auch weitere Gründe für den Kauf. Einerseits lag der Preis unter € 30,- (war leider nur im Zuge der &lt;a href="https://www.indiegogo.com"&gt;indiegogo&lt;/a&gt; Kampagne so günstig) und andererseits interessierten mich die diversen Merkmale.

&lt;/p&gt;


&lt;p&gt;

1 - Never fall out - hm, bis jetzt ist mir jeder in-ear Kopfhörer rausgefallen 2 - Hi-Fi Audio Sound - um den Preis geht das wirklich? 3 - Auto connects - geht das auch mit meinem Handy? 4 - Waterproof - Im Regen oder in der Dusche Musik hören? 5 - Portable Charging Pod - Nette Idee zum Aufladen der Kopfhörer 6 - Touch Control - Ist die Bedienung wirklich so einfach?

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Erfahrung&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Ich habe die PaMus erst einen Tag im Einsatz, kann aber schon etwas Feedback dazu geben.

&lt;/p&gt;


&lt;p&gt;

zu 1: Ja, sie sitzen wirklich fest. Bis jetzt sind sie mir nur beim Duschen aus dem Ohr geflutscht. Allerdings ganz klein sind sie nicht, wie ihr an den Bildern erkennt, aufallen tut man mit PaMu.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="PaMu_im_Zimmer%20-%20scaled%20width%20560.jpg" alt="PaMu der erste Tragetest" width="TMPREPLACEMEwidthSTART-PaMu_im_Zimmer - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-PaMu_im_Zimmer - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;PaMu der erste Tragetest&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;figure class="image-center"&gt;
&lt;img src="PaMu_im_Garten%20-%20scaled%20width%20560.jpg" alt="PaMu Tragetest im Garten" width="TMPREPLACEMEwidthSTART-PaMu_im_Garten - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-PaMu_im_Garten - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;PaMu Tragetest im Garten&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

zu 2: Die Sound-Qualität ist wirklich gut, bin zufrieden damit.

&lt;/p&gt;


&lt;p&gt;

zu 3: Erstaunlicherweise funktioniert das Verbinden sehr gut. PaMus aus Ladestation nehmen, schon sind sie mit Handy verbunden. PaMus in die Ladestation zurücklegen, schon ist die Verbindung wieder getrennt.

&lt;/p&gt;


&lt;p&gt;

zu 4: Wie bereits in Punkt 1 erwähnt, ja ich habe die PaMus beim Duschen ausprobiert. Es hat funktioniert, aber sie sind mir beim Kopfwaschen herausgefallen. Die Verbindung bzw. die Wiedergabe wurde bei direktem Kontakt mit dem Wasserstrahl beendet. Durch Betätigen der Taste an der Außenseite der PaMus wurde die Wiedergabe fortgesetzt. Möglicherweise ist die Druckempfindlichkeit so leicht eingestellt? Werde in Zukunft das Duschen damit allerdings unterlassen, da beim Radfahren einen PaMu im Ohr habe und beim Duschen meine Ohren auch waschen will. Laut Anleitung sind die PaMus Spritzwasser geschützt, stärkere Kontakt mit Wasser sollte vermieden werden. Also Duschen damit auf eigene Gefahr.

&lt;/p&gt;


&lt;p&gt;

zu 5: Das Aufladen des Pod funktioniert per beigelegten USB-Kabel. Der Pod hat auch einen eingebauten Akku mit dem man die PaMus unterwegs auch aufladen kann. Die Ladezeit beträgt ca. 1.5h (Der Pod 2h). Näheres siehe folgende Spezifikation von der Verpackung.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="PaMu_Spezifikation%20-%20scaled%20width%20560.jpg" alt="PaMu Spezifikation" width="TMPREPLACEMEwidthSTART-PaMu_Spezifikation - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-PaMu_Spezifikation - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;PaMu Spezifikation&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Die PaMus liegen gut im Pod und mit dem drehbaren Deckel auch fest. Ich hatte zuvor schon ein ähnliches Headset, allerdings nur bestehend aus einem Kopfhörer und dieses war nicht so fest in der Ladestation, sodass beim Laden oft der Kontakt verloren ging, wenn die Ladestation gedreht wurde.

&lt;/p&gt;


&lt;p&gt;

zu 6: Die Bedienung ist recht simpel. Bei der Außenseite von beiden Kopfhörern handelt es sich um eine Multifunktionstaste. 1x Tippen - Musik starten, Pause, Anruf entgegen nehmen oder Anruf auflegen 2x Tippen - nächstes Lied, Anruf ablehnen

&lt;/p&gt;


&lt;p&gt;

Mehr Funktionalität wird leider nicht geboten. Interessant für mich wäre noch eine Lautstärken Regelung gewesen.

&lt;/p&gt;


&lt;p&gt;

Die Qualität beim Musikhören habe ich oben bereits erwähnt. Beim Telefonieren ist es meiner Erfahrung nach abhängig, wo man telefoniert. Meiner Mutter hab ich ein Paar PaMus geschenkt und sie war beim Telefonieren im Zimmer mit der Qualität zufrieden. Bei meiner heutigen Heimfahrt mit dem Rad konnte mich mein Gesprächspartner leider nicht verstehen. Im Büro habe ich es kurz als Headset verwendet und hatte beim Telefonieren ebenfalls Verständigungsprobleme. Hauptaugenmerkt für die Produzenten war anscheinend die Audiowiedergabe als die Verwendung zum Telefonieren.

&lt;/p&gt;


&lt;p&gt;

Ein Hinweis: Da ich beim Radfahren nicht beide PaMus gleichzeitig verwenden kann, da sie sehr gut die Umgebungsgeräusche wegfiltern, musste ich folgenden Hack durchführen. Die PaMus funktionieren normal nur, wenn beide aus dem Pod entnommen wurden. Wenn allerdings die Kontakte eines PaMus mit etwas Klebeband oder in meinem Fall mit einem Ringverstärker verklebt werden, kann man auch nur einen PaMu verwenden. Wichtig: Den rechten PaMu im Pod lassen, da der Linke der Hauptpod ist. Dies zeigt sich deutlich beim Telefonieren, da nur am linken PaMu der Gesprächspartner zu hören ist.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="PaMu_Hack%20-%20scaled%20width%20560.jpg" alt="Hack um nur einen Kopfhörer zu verwenden" width="TMPREPLACEMEwidthSTART-PaMu_Hack - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-PaMu_Hack - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;Hack um nur einen PaMu zu verwenden&lt;/figcaption&gt;
&lt;/figure&gt;

    </content>
    <id>https://andreas-voit.at/2018/05/14/pamu-from-tag-feed-with-content</id>
</entry>
<!-- ############################################################################################# -->
<entry>
    <title type="text">Dual SIM - Meine ersten Erfahrungen &amp; Ticks</title>
    <link href='https://Andreas-Voit.at/2017/10/09/dualsim' />
    <published>2017-10-09T23:00:00+01:00</published>
    <updated>2017-10-09T23:00:00+01:00</updated>
    <category scheme='https://Andreas-Voit.at/tags/android' term='android' />
    <category scheme='https://Andreas-Voit.at/autotags/language' term='language:deutsch' />
    <summary type='html'>
&lt;p&gt;

Mir ist leider vor kurzem ein Missgeschick mit meinem Nexus 5 passiert, wodurch ich gezwungen war, dass Handy zu wechseln. Da ich erst kürzlich ein Dual-SIM fähiges Firmenhandy bekommen habe, nahm ich dies anstatt mir ein neues Smartphone kaufen zu müssen. In diesem Blogbeitrag geht es mir um die generelle Verwendung eines Dual-SIM fähigen Smartphones, was man zu beachten hat und wie man sich den Alltag erleichtern kann.

&lt;/p&gt;

    </summary>    <content type='html'>

&lt;p&gt;

Mir ist leider vor kurzem ein Missgeschick mit meinem Nexus 5 passiert, wodurch ich gezwungen war, dass Handy zu wechseln. Da ich erst kürzlich ein Dual-SIM fähiges Firmenhandy bekommen habe, nahm ich dies anstatt mir ein neues Smartphone kaufen zu müssen. In diesem Blogbeitrag geht es mir um die generelle Verwendung eines Dual-SIM fähigen Smartphones, was man zu beachten hat und wie man sich den Alltag erleichtern kann.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Erste Schritte mit Dual-SIM&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Von meiner Firma bekam ich wie bereits erwähnt ein Smartphone zur Verfügung gestellt, &lt;a href="http://www.gsmarena.com/motorola_moto_g4_play-8104.php"&gt;Moto G4 (play)&lt;/a&gt;. Ich werde hier jetzt nicht näher auf die Pro und Contras zu diesem Smartphone eingehen, außer, dass mir sehr gut gefällt, dass man zusätzlich zum zweiten SIM-Karten Slot die Möglichkeit hat eine Speicherkarte einzusetzen. Bei den meisten Dual-SIM Smartphones muss man sich entscheiden, ob Dual-SIM oder Speicherkarte, der Slot erlaubt nur eines davon.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Unteschiedliche Ruftöne&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

So nun hatte ich beide Karten drinnen und war somit über ein Handy mit zwei Nummern erreichbar. Da stellte sich bei mir gleich die Frage, wie kann ich die Anrufer unterscheiden, ob sie nun auf der privaten oder der Firmennummer anrufen. Meine Idee war es jeder SIM Karte einen eigenen Rufton zuzuordnen. So weiß ich von Hören, ob es ein Firmen- oder ein Privatkontakt dran ist. Schnell stellte ich fest, dass dies keine Standardfunktion ist. Meine Recherche ergabe, dass dazu zusätzliche Apps installiert werden müssen. Für den Anfang hab ich mich für die App &lt;a href="https://play.google.com/store/apps/details?id=ru.gg.dualsim&amp;amp;hl=en"&gt;DualSim Ringtone&lt;/a&gt; entschieden. Sie ist reicht einfach zu bedienen und macht was sie soll.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Signal-Messenger&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Auf meinem Nexus 5 war ich es gewohnt Nachrichten und SMS per App &lt;a href="https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms&amp;amp;hl=en"&gt;Signal&lt;/a&gt; zu versenden. Daher war diese App unter den ersten Installationen. Meine alten Nachrichten konnte ich von meinem alten Handy per Export (außer Nachrichten mit Medieninhalten wie Videos oder Bildern) auf das neue Handy übertragen. Meine private SIM konnte ich durch erneute Registrierung wieder für Signal Nachrichten freischalten. Über die Firmennummer versende ich nur SMS. Um nun SMS über die gewünschte Nummer zu versenden, drückt man länger auf den Senden-Button und bekommt dann eine Auswahl, welche SIM-Karte verwendet werden soll.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Deaktivierung von einer SIM Karte ab einer bestimmten Zeit&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Das Zuweisen von unterschiedlichen Klingeltönen zu jeder SIM ist schon ein guter Anfang. Die nächste Stufe wäre für mich, die Automatisierung der Deaktivierung einer von den SIM-Karten. Als sportliche Randbedingung will ich dies durch keine Kauf-App bewerkstelligen. Ich bekam im Vorfeld schon ein paar Tipps, wie dies mit &lt;a href="https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&amp;amp;hl=en"&gt;Tasker&lt;/a&gt; zu lösen ist, allerdings ist Tasker kostenpflichtig. Eine Alternative stellt aus meiner Sicht &lt;a href="https://play.google.com/store/apps/details?id=com.llamalab.automate&amp;amp;hl=en"&gt;Automate&lt;/a&gt; dar. Die App ist so aufgebaut, dass man durch zusammenhängen von einzelnen Bausteinen Flowcharts entwickelt, die den Ablauf der gewünschten Automatisierung festlegen.

&lt;/p&gt;

    </content>
    <id>https://andreas-voit.at/2017/10/09/dualsim-from-tag-feed-with-content</id>
</entry>
<!-- ############################################################################################# -->
<entry>
    <title type="text">Nexus 5 Umstieg auf lineageos 14.1</title>
    <link href='https://Andreas-Voit.at/2017/02/20/androidos' />
    <published>2017-02-20T20:30:00+01:00</published>
    <updated>2017-02-20T20:30:00+01:00</updated>
    <category scheme='https://Andreas-Voit.at/tags/android' term='android' />
    <category scheme='https://Andreas-Voit.at/autotags/language' term='language:deutsch' />
    <summary type='html'>
&lt;p&gt;

Ende letzten Jahres wurde die Entwicklung an cyanogenmod eingestellt. Erfreulicherweise ist bis Ende des Jahres ein Nachfolgerprojekt gegründet worden: &lt;a href="http://lineageos.org/"&gt;lineageos&lt;/a&gt; Am 25.12.2016 wurden bereits erste inoffizielle Releases verbreitet. Ich habe diese Chance auch genutzt und bin von CM14 auf lineageos 14 umgestiegen. Im Grunde war das OS recht brauchbar, es gab nur ein paar störende Effekte: Bluetooth Geräte wurden nicht automatisch verbunden und tageweise musste ich mein N5 (Nexus 5) mehrmals neustarten, da meine SIM-Karte nicht mehr erkannt werden konnte. Glücklicherweise stellte ich letztes Wochenende fest, dass offizielle Releases zur Verfügung stehen.

&lt;/p&gt;

    </summary>    <content type='html'>

&lt;p&gt;

Ende letzten Jahres wurde die Entwicklung an cyanogenmod eingestellt. Erfreulicherweise ist bis Ende des Jahres ein Nachfolgerprojekt gegründet worden: &lt;a href="http://lineageos.org/"&gt;lineageos&lt;/a&gt; Am 25.12.2016 wurden bereits erste inoffizielle Releases verbreitet. Ich habe diese Chance auch genutzt und bin von CM14 auf lineageos 14 umgestiegen. Im Grunde war das OS recht brauchbar, es gab nur ein paar störende Effekte: Bluetooth Geräte wurden nicht automatisch verbunden und tageweise musste ich mein N5 (Nexus 5) mehrmals neustarten, da meine SIM-Karte nicht mehr erkannt werden konnte. Glücklicherweise stellte ich letztes Wochenende fest, dass offizielle Releases zur Verfügung stehen.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Installation und die Hürden&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Nachdem ich mir die &lt;a href="http://lineageos.org/Update-and-Build-Prep/"&gt;Installationshinweise&lt;/a&gt; und mein N5 näher angeschaut habe, musste ich leider feststellen, dass ich Cyanogenmod Recovery installiert hatte. Somit war schon mal klar, ich muss mir vorher das &lt;a href="http://twrp.me/"&gt;TWRP-Recovery&lt;/a&gt; installieren. Des Weiteren wird dazu geraten, vor der Installation von lineageos den Speicher zu löschen (wipe unter TWRP-Recovery).

&lt;/p&gt;


&lt;p&gt;

Doch zu vor - als erfahrender Android-Flasher - ist es natürlich ratsam die alten Telefondaten zu sichern.

&lt;/p&gt;


&lt;p&gt;

Zum Sichern setzte ich einerseits auf &lt;a href="https://is.gd/1if10W"&gt;Titanium Backup&lt;/a&gt; in der &lt;a href="https://is.gd/LQHPZJ"&gt;Pro-Version&lt;/a&gt; (in der Pro-Version wird der Batchprozess ohne Zwischenmeldungen durchgeführt) und andererseits erstelle ich manuelle Kopien von meinen Kontakten, SMS und selbst erstellte Skripte (&lt;a href="https://is.gd/TIBrQl"&gt;Tasker&lt;/a&gt;). Nachdem ich alles auf mein Notebook gesichert habe, beginnt die eigentliche Arbeit.

&lt;/p&gt;


&lt;p&gt;

Zuerst installiere/flashe ich das TWRP-Recovery nach einer &lt;a href="https://www.xda-developers.com/how-to-install-twrp/"&gt;Anleitung&lt;/a&gt; auf mein N5. Nach einem Neustart speichere ich auf die interne SD-Karte folgende Dateien ab:

&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aktuellste Version von &lt;a href="http://opengapps.org/"&gt;opengapps&lt;/a&gt;
(7.1 nano): Lineageos enthält keine Google-Apps, daher müssen diese
gesondert installiert werden.&lt;/li&gt;
&lt;li&gt;Letztes &lt;a href="https://download.lineageos.org/"&gt;Nightly Build&lt;/a&gt;
von lineageos: Im Gegensatz zu CM erscheinen die Nightly Builds
wöchentlich, da noch nicht so viele Entwickler Ressourcen zur Verfügung
stehen.&lt;/li&gt;
&lt;li&gt;Aktuellste Version von &lt;a href="https://is.gd/Z60zmA"&gt;SuperSU&lt;/a&gt;:
Wird für spätere Rootrechte in lineageos benötigt.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;

Im nächsten Schritt starte ich das N5 im Recoverymode und Lösche das bestehende System samt Dalvic-Cache.

&lt;/p&gt;


&lt;p&gt;

Als Erstes erfolgt die Installation von lineageos. Danach die Google-Apps und im Anschluss daran die SuperSu-Datei. Nach Abschluss der letzten Installation kan das N5 neugestartet werden. Nach einer kurzen Wartezeit wird man bereits mit dem lineageos Ladesymbol begrüßt. Anschließend sind die notwendigen Infos zu WLAN, Google-Konto, etc. anzugeben.

&lt;/p&gt;


&lt;p&gt;

Für die Wiederherstellung meiner alten Daten führe ich die Installation von Titanium Backup durch. Beim Löschen des Systems über TWRP wurde die SD-Karte nicht angegriffen, daher befand sich dort noch meine Backup-Daten. Diese lies ich nun wiederherstellen und starte danach mein N5 neu. Nun wurden mir meine gewohnten Homescreens angezeigt. Ein paar Anpassungen in der GUI (Batteriesymbol) musste ich allerdings schon noch manuell durchführen. Was noch zu erwähnen ist, dass durch die Installation alle App-Berechtigungen verloren gehen. Dies waren allerdings recht schnell wieder gesetzt.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Fazit&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Die Installation verlief bei mir unproblematisch. Meine Daten wie Kontakte und SMS waren wie vorher vorhanden. Überraschenderweise hat das Wiederherstellen von &lt;a href="https://is.gd/mQ3Bpj"&gt;Signal&lt;/a&gt; hervorragend geklappt. Ich musste diesmal auch nicht einen neuen Schlüssel generieren.

&lt;/p&gt;


&lt;p&gt;

Sicherlich lässt sich nach einem Tag Testphase nicht viel zur Stabilität oder sonstigen Verhalten sagen, aber auf jeden Fall funktioniert die automatische Verbindung mit Bluetooth-Geräten besser und die SIM-Karte wurde den ganzen Tag erkannt.

&lt;/p&gt;

    </content>
    <id>https://andreas-voit.at/2017/02/20/androidos-from-tag-feed-with-content</id>
</entry>
<!-- ############################################################################################# -->
<entry>
    <title type="text">Altes Android System auf neuem Nexus 5 wiederherstellen</title>
    <link href='https://Andreas-Voit.at/2016/11/06/nanobackup' />
    <published>2016-11-06T16:30:00+01:00</published>
    <updated>2016-11-06T16:30:00+01:00</updated>
    <category scheme='https://Andreas-Voit.at/tags/android' term='android' />
    <category scheme='https://Andreas-Voit.at/tags/howto' term='howto' />
    <category scheme='https://Andreas-Voit.at/autotags/language' term='language:deutsch' />
    <summary type='html'>
&lt;p&gt;

In den letzen beiden Tagen habe ich mich erneut in das Nexus 5 verliebt. Meine Eltern sind seit kurzer Zeit ebenfalls Nexus 5 Benutzer. Gestern musste leider eines davon eine unsanfte Landung absolvieren, wodurch der Display in Mitleidenschaft gezogen wurde.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="http://Andreas-Voit.at/2016/11/06/nanobackup/signal-2016-11-02-111036%20-%20scaled%20width%20560.jpg" alt="Nexus 5 mit Display Schaden" width="TMPREPLACEMEwidthSTART-signal-2016-11-02-111036 - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-signal-2016-11-02-111036 - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;Nexus 5 mit Display Schaden&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Nun gab es zwei Möglichkeiten:

&lt;/p&gt;


&lt;p&gt;

A) Display tauschen B) gebrauchtes Nexus 5

&lt;/p&gt;


&lt;p&gt;

Den geringsten Aufwand stellte für mich Möglichkeit B dar. Dank meines Bruders haben wir auch schnell über &lt;a href="https://www.willhaben.at/iad"&gt;Willhaben&lt;/a&gt; ein passendes Angebot gefunden und dieses innerhalb eines Tages abgeholt.

&lt;/p&gt;

    </summary>    <content type='html'>

&lt;p&gt;

In den letzen beiden Tagen habe ich mich erneut in das Nexus 5 verliebt. Meine Eltern sind seit kurzer Zeit ebenfalls Nexus 5 Benutzer. Gestern musste leider eines davon eine unsanfte Landung absolvieren, wodurch der Display in Mitleidenschaft gezogen wurde.

&lt;/p&gt;


&lt;figure class="image-center"&gt;
&lt;img src="signal-2016-11-02-111036%20-%20scaled%20width%20560.jpg" alt="Nexus 5 mit Display Schaden" width="TMPREPLACEMEwidthSTART-signal-2016-11-02-111036 - scaled width 560.jpg-TMPREPLACEMEwidthEND" height="TMPREPLACEMEheightSTART-signal-2016-11-02-111036 - scaled width 560.jpg-TMPREPLACEMEheightEND" loading="lazy" /&gt;
&lt;figcaption&gt;Nexus 5 mit Display Schaden&lt;/figcaption&gt;
&lt;/figure&gt;


&lt;p&gt;

Nun gab es zwei Möglichkeiten:

&lt;/p&gt;


&lt;p&gt;

A) Display tauschen B) gebrauchtes Nexus 5

&lt;/p&gt;


&lt;p&gt;

Den geringsten Aufwand stellte für mich Möglichkeit B dar. Dank meines Bruders haben wir auch schnell über &lt;a href="https://www.willhaben.at/iad"&gt;Willhaben&lt;/a&gt; ein passendes Angebot gefunden und dieses innerhalb eines Tages abgeholt.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Backup &amp;amp; Restore&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Nun war das alte Nexus 5 noch betriebsbereit, wodurch ich die Möglichkeit hatte ein aktuelles Backup zu erzeugen.

&lt;/p&gt;


&lt;p&gt;

Auch hier standen mir zwei Möglichkeiten zur Verfügung:

&lt;/p&gt;


&lt;p&gt;

A) &lt;a href="https://play.google.com/store/apps/details?id%3Dcom.keramidas.TitaniumBackup&amp;amp;hl%3Dde"&gt;Titanium Backup&lt;/a&gt;

&lt;/p&gt;


&lt;p&gt;

B) TWRP Backup bzw. nandroid Backup

&lt;/p&gt;


&lt;p&gt;

Und wieder habe ich mich für Variante B) entschieden. Für Titanium Backup müsste ich die kostenpflichtige Version kaufen und da ich eh das komplette System wiederherstellen wollte, war aus meiner Sicht dies die einfachste und schnellste Variante. Per "adb pull" konnte ich das Backup auf mein Notebook sichern.

&lt;/p&gt;


&lt;p&gt;

Nun ging es dran, das Backup auf das neue Nexus einzuspielen. Nachdem das neue Gerät per "fastboot oem unlock" wieder gerootet habe, konnte ich auch auf diesem TWRP installieren (fastboot flash recovery twrp-3.0.2-0-hammerhead.img). Ich habe danach am neuen Nexus ein Backup durchgeführt, da TWRP die Backups in einen Ordner ablegt, der als Bezeichnung die Seriennummer des Smartphones enthält. Die Backupdateien selbst befinden sich in einem weiteren Unterordner und &lt;a href="http://androidforums.com/threads/verizon-solved-twrp-cannot-find-backup.654751/"&gt;TWRP findet Backup-Dateien&lt;/a&gt; auch nur unter diesen Ordner. Per adb push habe ich nun vom Notebook das Backup vom alten Nexus auf das neue Nexus übertragen. Nach der Ausführung des Restores und einem Neustart war auf dem neuen Nexus 5 das System wie beim alten Nexus 5.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Die Probleme&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Nach der bisherigen Beschreibung kann man eins zu eins das System auf einem neuen Gerät kopieren, solange man nicht telefonieren oder SMS schreiben will. Denn das Problem ist, dass durch die oben beschriebene Variante der interne EFS-Ordner überschrieben wird. Dieser enthält die Information, welche IMEI-Nummer dem Smartphone zugeordnet ist. Durch das Überschreiben wird entweder eine ungültige IMEI Nummer oder die IMEI Nummer wird auf 0 gesetzt. Das Problem ist nun, ohne IMEI Nummer kann sich das Smartphone nicht ins Mobilefunktnetz einwählen, dadurch sind Anrufe oder SMS nicht möglich.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Lösungsweg&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Meine Recherchen haben ergeben, dass in Einzelfällen ein Überspielen des Systems mit Hilfe eines Factory-Image die alte IMEI Nummer wiederhergestellt hat. Daraufhin habe ich diese &lt;a href="http://www.pocketpc.ch/google-nexus-5-root-und-rom/200110-anleitung-nexus-5-stock-zustand-zuruecksetzen-via-offiziellem-factory-image.html"&gt;Anleitung&lt;/a&gt; befolgt und das Factory-Image eingespielt. Leider hat dies nicht den gewünschten Erfolg gehabt und die IMEI Nummer war noch immer auf den Wert 0 gesetzt.

&lt;/p&gt;


&lt;p&gt;

Als nächstes versuchte ich mit folgender &lt;a href="http://forum.xda-developers.com/showpost.php?p%3D26827676&amp;amp;postcount%3D4512%2522"&gt;Anleitung&lt;/a&gt; die IMEI Nummer zu reparieren oder wenigstens durch eine Entwickler IMEI Nummer zu ersetzen. Allerdings dürfte sich die Ordner Struktur von Android geändert haben, wodurch ich den EFS-Ordner nicht im root-Verzeichnis finden konnte. Auch nicht auf meinem eigenen Nexus 5, wo der EFS-Ordner korrekt ist und ich eine IMEI Nummer besitze.

&lt;/p&gt;


&lt;p&gt;

Schlussendlich bin ich bei folgender &lt;a href="http://android.stackexchange.com/questions/114184/restore-google-nexus-5-imei-that-reads-0"&gt;Anleitung&lt;/a&gt; gelandet. Dieser Forumbeitrag beschrieb ganz genau mein Problem und ich hatte endlich die Lösung in Händen. Dachte ich mir. Denn in dem Forumbeitrag wird die Lösung anhand eines Windowsprogamms beschrieben. Ich habe bei mir privat allerdings nur Linux im Einsatz, außer einen alten Pentium 4, der mir ab und zu als Spielerechner dient. Zu erst versuchte ich die Windowstools unter WINE auszuführen. Starten konnte ich die Programme schon, aber sie erkannten das Nexus 5 nicht. In weiteren Forumbeiträgen habe ich gelesen, dass auch mit Virtuellen Maschinen das korrekte Ausführen der Programme nicht möglich war. Daher entschloss ich mich, meinen alten Pentium 4 zu reaktivieren. Die beschriebenen Programme waren schnell installiert, allerdings hatte ich mit einer Grundlage starke Probleme: Installation des LG NEXUS 5 Treibers. Nach 5 Stunden gab ich die Installationsversuche schließlich auf. Aus irgendeinem unbekannten Grund konnte mein Windows PC die lokal vorhandenen Treiberdateien für die Installation nicht verwenden.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Wichtigste Erfahrung&lt;/h2&gt;&lt;/header&gt;


&lt;p&gt;

Was ich aus der ganzen Sache gelernt habe? Bevor du was tust, immer ein Backup ziehen! Und, der augenscheinlich schnellste Weg ist nicht immer der mit den geringsten Problemen. Daher werde ich, wenn ich die IMEI Nummer wiederhergestellt habe, sofort ein Backup des EFS-Ordners durchführen.

&lt;/p&gt;

    </content>
    <id>https://andreas-voit.at/2016/11/06/nanobackup-from-tag-feed-with-content</id>
</entry>
<!-- ############################################################################################# -->
<entry>
    <title type="text">Nexus 5 - CM13 Upgrade</title>
    <link href='https://Andreas-Voit.at/2016/06/05/nexus5cm13' />
    <published>2016-06-05T10:39:00+01:00</published>
    <updated>2016-06-05T10:39:00+01:00</updated>
    <category scheme='https://Andreas-Voit.at/tags/android' term='android' />
    <category scheme='https://Andreas-Voit.at/autotags/language' term='language:deutsch' />
    <summary type='html'>
&lt;p&gt;

Da ich aufgrund eines Unfalls länger ans Bett gebunden war, habe ich mich entschlossen, dass ich neben dem Upgraden meines x260 auf Xubuntu 16.04 auch noch mein Nexus 5 auf den aktuellsten Stand bringe. Einerseits habe ich von einer &lt;a href="https://is.gd/PiVXbo"&gt;Sicherheitslücke&lt;/a&gt; erfahren, die in meiner alten Version noch existieren sollte und andererseits ich Android 6 haben wollte. Da das Nexus 5 für Entwickler konzipiert wurde und ich schon länger Cyanogenmod (CM) im Einsatz habe, ist der Upgrade-Prozess keine große Sache. Meine folgende Beschreibung setzt voraus, dass das Nexus5 bereits vorher mit Cyanogenmod 12.1 betrieben wurde.

&lt;/p&gt;

    </summary>    <content type='html'>

&lt;p&gt;

Da ich aufgrund eines Unfalls länger ans Bett gebunden war, habe ich mich entschlossen, dass ich neben dem Upgraden meines x260 auf Xubuntu 16.04 auch noch mein Nexus 5 auf den aktuellsten Stand bringe. Einerseits habe ich von einer &lt;a href="https://is.gd/PiVXbo"&gt;Sicherheitslücke&lt;/a&gt; erfahren, die in meiner alten Version noch existieren sollte und andererseits ich Android 6 haben wollte. Da das Nexus 5 für Entwickler konzipiert wurde und ich schon länger Cyanogenmod (CM) im Einsatz habe, ist der Upgrade-Prozess keine große Sache. Meine folgende Beschreibung setzt voraus, dass das Nexus5 bereits vorher mit Cyanogenmod 12.1 betrieben wurde.

&lt;/p&gt;


	  &lt;header&gt;&lt;h2 class="section-title"&gt;Folgende Schritte sind notwendig:&lt;/h2&gt;&lt;/header&gt;

&lt;ol&gt;
&lt;li&gt;Datensicherung&lt;/li&gt;
&lt;li&gt;Download der letzen CM13 Version über die Updatefunktion und
GAPPS&lt;/li&gt;
&lt;li&gt;TWRP Aktualisierung&lt;/li&gt;
&lt;li&gt;Löschen der bestehenen Daten&lt;/li&gt;
&lt;li&gt;Installation CM13&lt;/li&gt;
&lt;li&gt;Installation GAPPS&lt;/li&gt;
&lt;li&gt;Backupdaten zurückspielen&lt;/li&gt;
&lt;li&gt;Installation Xposed Framework&lt;/li&gt;
&lt;/ol&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Datensicherung&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Für die Datensicherung verwende ich schon seit Jahren &lt;a href="https://is.gd/d3lCca"&gt;Titanium Backup&lt;/a&gt;, da ich damit derzeit die besten Erfahrungen gemacht habe. Ich verwende die Pro-Version, da nur hier die Stapelfunktion freigeschalten ist, sodass ich nicht manuell jedes einzelne Programm oder Funktion sichern muss. Entweder per ADB oder über Medienfreigabe werden die Sicherungsdaten auf das Notebook übertragen.

&lt;/p&gt;


&lt;p&gt;

Als Messenger und SMS App verwende ich Signal. Um die Nachrichten und SMS nicht zu verlieren, führte ich eine gesonderte Sicherung der Nachrichten durch.

&lt;/p&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Download der letzen CM13 Version über die CM-Updatefunktion und GAPPS&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Ich verwende die CM-Updatefunktion, damit ich sicher gehen kann, dass die CM13-Version auch für mein Nexus 5 geeignet ist. Sicherlich kann man sich das entsprechende Image (ZIP-Datei) auch über die CM-Webseite downloaden. Ist im Grunde nur eine Geschmackssache :-)

&lt;/p&gt;


&lt;p&gt;

Für die Google Apps verwende ich &lt;a href="http://opengapps.org/"&gt;OpenGAPPS&lt;/a&gt;, da hier unterschiedliche Varianten von GAPPS zur Verfügung gestellt werden. Ich verwendete die Stock-Variante und legte die ZIP-Datei ebenfalls im CM-Update Ordner ab.

&lt;/p&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;TWRP Aktualisierung&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

CM13 benötigt das aktuellste Custom-Recovery, in diesem Fall habe ich mich für TWRP entschieden. Ich bin dabei dieser &lt;a href="https://twrp.me/devices/lgnexus5.html"&gt;Anleitung&lt;/a&gt; gefolgt. Bei mir ist das Image unter dem Link "Normal" zum Einsatz gekommen, da ich mich noch nicht getraut habe auf hammerheadcaf zu wechseln.

&lt;/p&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Löschen der bestehenen Daten&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Da ich eine Sicherung von meinem System gemacht habe, konnte ich nun getrost den Speicher im Recoverymode leeren.

&lt;/p&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Installation CM13&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Der CM-Updateordner wurde durch den vorherigen Schritt nicht gelöscht, daher konnte ich die CM13-ZIP-Datei für die Installation verwenden.

&lt;/p&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Installation GAPPS&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Nun folgte die Installation der GAPPS. Die entsprechende ZIP-Datei befand sich ebenfalls im CM-Download Ordner und war daher auch nicht von meinem vorherigen Schritt betroffen.

&lt;/p&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Backupdaten zurückspielen&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Beim ersten Boot startete das Nexus 5 mit dem neuen CM13. Daher musste ich im Wizard die Spracheinstellungen, WLAN Zugangsdaten und Google Kontoinformationen neusetzen. Der erste Schritt war nun, die Installation von Titanium Backup, um mein Backup einspielen zu können. Per ADB übertrug ich die Backup-Dateien von meinem Notebook auf das Nexus 5. In Titanium Backup nur noch den Backup-Ordner suchen lassen und schon konnte über die Stapelfunktion das Backup zurückgespielt werden.

&lt;/p&gt;


&lt;p&gt;

Signal kann leider nicht fehlerfrei wiederhergestellt werden. Ich lösche daher immer die App und installiere sie neu, da es sonst zu Authentifizierungsproblemen kommt. Die Signal Nachrichten und SMS ließen sich über die interne Backupfunktion von Signal wiederherstellen. Leider verliert Signal dabei die Gruppendefinitionen.

&lt;/p&gt;


	  &lt;header&gt;&lt;h3 class="section-title"&gt;Installation Xposed Framework&lt;/h3&gt;&lt;/header&gt;


&lt;p&gt;

Seit kurzer Zeit verwende ich das Xposed Framework, da ich dadurch den Funktionsumfang von CM13 erweitern kann. Hauptsächlich geht es mir um das Modul &lt;a href="https://is.gd/im74Uq"&gt;XPrivacy&lt;/a&gt;, wodurch ich Apps noch genauer Rechte entziehen kann. Dafür ist es allerdings notwendig, dass das Xposed Framework installiert ist. Für CM13 benötigte ich die Version für &lt;a href="http://dl-xda.xposed.info/framework/sdk23/arm/"&gt;Android 6&lt;/a&gt;. Die Installation erfolgt entweder über die Xposed App oder per Recoverymode.

&lt;/p&gt;


&lt;p&gt;

Nach einem Neustart war nun mein Nexus 5 mit CM13 und meinen alten Einstellungen ausgestattet. Die Xposed Module habe ich noch entsprechend aktualisiert, aber sonst war nicht mehr viel zu tun. Seit ein paar Tagen habe ich nun das neue System und konnte noch keine Probleme feststellen (Holz-klopf).

&lt;/p&gt;

    </content>
    <id>https://andreas-voit.at/2016/06/05/nexus5cm13-from-tag-feed-with-content</id>
</entry></feed>