Posts mit dem Label Verbindung werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Verbindung werden angezeigt. Alle Posts anzeigen

10. September 2013

Arch Linux: Zugriff auf Android-Gerät via MTP über Nautilus

Dieser Artikel soll nur ein kurzer Hinweis darauf sein, wie man unter Arch Linux auf das Dateisystem neuerer Android-Geräte über den GNOME-Dateimanager "Nautilus" zugreifen kann. Ab der Android-Version 3.0 wird hierfür das MTP-Protokoll verwendet, welches Anfangs nur sehr schlecht von den verschiedenen Linux-Distributionen unterstützt wurde. Als ich heute jedoch die MTP-Unterstützung unter Arch Linux installierte, war ich positiv überrascht darüber, wie einfach die Installation funktioniert und wie reibungslos ich auf mein Nexus 10-Tablet, das ich zu Testzwecken verwendete, zugreifen konnte.

Der Inhalt des internen Speichers eines Nexus 10-Tablets im Dateimanager Nautilus (Klicken zum Vergrößern)

Installation der MTP-Unterstützung


Um MTP im Dateimanager Nautilus nutzen zu können ist lediglich die Installation von zwei Paketen notwendig. Zu diesen Paketen gehört libmtp und gvfs-mtp, welche beide über die offiziellen Repositories zur Verfügung stehen. Über die folgenden Konsolenbefehle können sie installiert werden:
 $ sudo pacman -S libmtp  
 $ sudo pacman -S gvfs-mtp  
Anschließend muss das System neu gestartet werden. Nachdem dann das Android-Gerät per USB mit dem PC verbunden wurde, sollte dieses automatisch erkannt werden und in der Seitenleiste von Nautilus sollte unter der Kategorie "Geräte" ein neuer Eintrag für das entsprechende Gerät erscheinen, wie es auf dem oben abgebildeten Screenshot zu erkennen ist.

Falls das Gerät nicht erkannt wird, sollte man überprüfen, ob das Android-Gerät überhaupt so eingestellt ist, dass es das MTP-Protokoll verwendet. Hierfür zieht man die Benachrichtigungsleiste nach unten, wodurch eine Benachrichtigung mit dem Titel "Als Mediengerät angeschlossen" sichtbar werden sollte. Wenn man auf diese Benachrichtigung klickt, öffnen sich die Verbindungseinstellungen. Hier muss sichergestellt sein, das die Option "Verbinden als Mediengerät (MTP)" aktiviert ist.

Weiterführende Links:

23. Juni 2013

Android: WLAN-Konnektivität prüfen

Innerhalb einer Android-App kann es sinnvoll sein, zu überprüfen, ob das Gerät im Moment über eine aktive WLAN-Verbindung verfügt. Dies ist beispielsweise sinnvoll wenn Netzwerkzugriffe mit erhöhtem Datendurchsatz nicht über die mobile Datenverbindung ausgeführt werden sollen. Im Folgenden soll daher gezeigt werden, wie aus einer Activity heraus überprüft werden kann, ob eine WLAN-Verbindung verfügbar ist.

Den notwendigen Zugriff auf den WLAN-Adapter erlangt man über die Verwendung des sogenannten ConnectivityManager. Eine Referenz auf diesen erhält man durch den Aufruf der getSystemService-Methode der Klasse Context, indem man als Parameter die Konstante Context.CONNECTIVITY_SERVICE übergibt und den Rückgabewert entsprechend castet. Über einen anschließenden Aufruf der getNetworkInfo-Methode des eben referenzierten Services, wobei hierbei der Parameter ConnectivityManager.TYPE_WIFI übergeben werden muss, erhält man dann ein Objekt der Klasse NetworkInfo, über das Informationen über den WLAN-Adapter bezogen werden können. Dessen Konnektivität kann über die isConnected-Methode abgefragt werden.
 ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  
 NetworkInfo wifiNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);  
 boolean wlanConnectionAvailable = wifiNetworkInfo.isConnected();  
Um den Zugriff auf den WLAN-Adapter zu erhalten muss außerdem, wie folgendermaßen dargestellt, eine entsprechende Permission in der AndroidManifest.xml definiert werden.
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />