Frage zu Dateiverknüpfungen auf Android

Support for Android version of Total Commander

Moderators: white, Hacker, petermad, Stefan2

franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Frage zu Dateiverknüpfungen auf Android

Post by *franc »

Hallo,

ich habe eine Frage zur Verknüpfung von Dateitypen mit bestimmten Apps auf Android 2.3.3:

Ich habe mein Samsung Galaxy S2 gerootet und den totalcmd installiert.
Dann stellte ich fest, dass alle dem System unbekannten Dateitypen, z.B. .log, .db, ... .xy, .irgendwas mit dem Adobe Reader verknüpft worden waren, d.h. wenn ich eine Datei unbekannten Typs hatte, und diese im Total Commander angeklickt hatte, wollte der Adobe Reader sie (irrtümlich) öffnen.

Ich deinstallierte also den Reader und die Verknüpfungen waren wieder weg. Gut.

Jetzt habe ich aber das selbe Phänomen mit einer App namens "Soviet Military Maps Free" aber auch mit vereinzelten Dateien (z.B. swf-Dateien) mit der App "APG".
Ich bin mir jetzt nicht mehr so sicher, ob es tatsächlich an diesen Apps liegt.

Ich kenne Android innerlich überhaupt nicht. Kann es sein, dass eine ganz andere App (z.B. der totalcmd) diese Verknüpfungen durcheinander bringt und unbekannte Dateien z.B. mit der nächstbesten App verknüpft?

Um einen Fingerzeig wäre ich dankbar!

Gruß franc
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ich habe den Adobe Reader auch installiert, und kann das Problem leider nicht nachvollziehen. Irgend etwas scheint bei Ihnen durcheinandergeraten zu sein. :(
Author of Total Commander
https://www.ghisler.com
User avatar
matixx
Power Member
Power Member
Posts: 1118
Joined: 2003-03-21, 02:37 UTC
Location: ....

Post by *matixx »

Dieses Problem ist derzeit Thema in vielen Android-Foren. Ich habe das Problem selber nicht, meine aber gelesen zu haben das der Adobe Reader (ein Update dessen) das durcheinander bringt.

Lässt sich in den Einstellungen der anwendung im Anwendungsmenue von Android beheben -->Standardeinstellungen löschen.
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

matixx wrote:Dieses Problem ist derzeit Thema in vielen Android-Foren. Ich habe das Problem selber nicht, meine aber gelesen zu haben dass der Adobe Reader (ein Update dessen) das durcheinander bringt...
Ich habe keine einschlägigen Beiträge dazu gefunden, nur meine eigenen, letztlich wohl ungelösten. Kannst du mir bitte sagen, in welchem Forum du dieses Problem gefunden hast?
matixx wrote:...Lässt sich in den Einstellungen der anwendung im Anwendungsmenue von Android beheben -->Standardeinstellungen löschen.
Da hatte ich natürlich zuallererst geschaut, aber da ist leider gar nichts eingetragen, der Button ist ausgegraut, es steht da "Keine Standardwerte festgelegt"
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

ghisler(Author) wrote:...Irgend etwas scheint bei Ihnen durcheinandergeraten zu sein. :(
Kann es sein, dass eine andere Anwendung diese falschen Dateiverknüpfungen für mehr oder weniger zufällige Apps erstellt?
Ich habe leider (noch) gar keine Ahnung, wie Android das mit den Dateiverknüpfungen macht. In einem Developerforum habe ich gelesen, dass die Apps selbst die Dateiverknüpfungen erstellen, gar nicht Android, das diese gar nicht kenne.
Es ist wohl ganz anders als Windows, aber wie?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Kann es sein, dass eine andere Anwendung diese falschen Dateiverknüpfungen für mehr oder weniger zufällige Apps erstellt?
Nein, eigentlich nicht - das steht in der Manifest-Datei in der Programmdatei drin (.apk).

Wenn Sie mir die problematische apk-Datei des Readers irgendwo zum Download bereitstellen, dann kann ich sie analysieren.
Author of Total Commander
https://www.ghisler.com
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Sehr gern!!!
Ich habe sie hier hochgeladen:

http://7fw.de/tmp/adobe_reader_10.1.0.zip

Das ist das Backup aus Titanium, das, wenn ich es installiere, sofort die komischen Dateiverknüpfungen mit dem A.Reader erstellt.
Die sind dann erst wieder weg (also auch die Adobe Icons im totalcmd), wenn ich den Reader nicht nur deinstalliere, sondern das SGS2 auch neu starte.

Danke.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Danke, da scheint wirklich ein Fehler in der Verknüpfung vorzuliegen. In der Manifestdatei steht:

Code: Select all

            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="file" android:pathPattern=".*\\.pdf" />
            </intent-filter>
Hier fehlt ein "host"-Attribut, siehe Erklärung:
http://developer.android.com/guide/topics/manifest/data-element.html
If a host is not specified for the filter, the port attribute and all the path attributes are ignored.
Richtig müsste die Verknüpfung so lauten:

Code: Select all

            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="file"  android:host="*" android:pathPattern=".*\\.pdf" />
            </intent-filter>
Weil android:host="*" vergessen wurde, ignoriert Android den Eintrag android:pathPattern, weshalb die Verknüpfung leider auf ALLE Dateien zutrifft.

Ein klarer Bug, den leider nur Adobe selbst korrigieren kann...

Falls sich jemand dafür interessiert, wie man die apk-Dateien analysieren kann: Das geht mit dem Programm Apktool:
http://code.google.com/p/android-apktool/

Aufruf:
java -jar c:\path\apktool.jar d filename.apk
Author of Total Commander
https://www.ghisler.com
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Großartig!
Ein Meister :)

Danke.
Da bin ich beruhigt, dass es "nur" ein Bug von Adobe ist und nicht in meinem Telefon schon spinnt.
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Wenn ich das richtig verstanden habe, ist in folgender AnrdroidManifest.xml (hier nur ein Auszug) das gleiche Problem:

Code: Select all

            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <action android:name="android.intent.action.VIEW" />
                <data android:scheme="http" />
                <data android:host="*" />
                <data android:pathPattern=".*\\.gpx" />
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <action android:name="android.intent.action.VIEW" />
                <data android:scheme="http" />
                <data android:host="*" />
                <data android:mimeType="application/gpx+xml" />
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <action android:name="android.intent.action.VIEW" />
                <data android:host="*" />
                <data android:mimeType="application/gpx+xml" />
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <action android:name="android.intent.action.VIEW" />
                <data android:scheme="content" />
                <data android:scheme="file" />
                <data android:mimeType="text/plain" />
                <data android:mimeType="text/html" />
                <data android:mimeType="application/xml" />
                <data android:mimeType="application/xhtml+xml" />
                <data android:mimeType="application/gpx+xml" />
                <data android:pathPattern=".*\\.gpx" />
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <action android:name="android.intent.action.VIEW" />
                <data android:scheme="content" />
                <data android:scheme="file" />
                <data android:pathPattern=".*\\.gpx" />
            </intent-filter>
Im letzten Abschnitt fehlt ja auch der host, oder?

Das ist die App "Soviet Maps" von atlogis.com, da hatte ich das gleiche Problem beobachtet. Der Entwickler dort (vom Support) konnte das jedoch nicht nachvollziehen.

Ich hab die Manifest auch mit dem apktool rausgeholt.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ja, ist das selbe Problem - würde ich dem Autor melden!
Author of Total Commander
https://www.ghisler.com
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

ghisler(Author) wrote:...Ein klarer Bug, den leider nur Adobe selbst korrigieren kann...

Falls sich jemand dafür interessiert, wie man die apk-Dateien analysieren kann: Das geht mit dem Programm Apktool...
Kann ich mit diesem apktool den Fehler nicht einfach ändern und die apk-Datei dann selbst rekompilieren?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Nein, soviel ich weiss ist der Output von Apktool nicht direkt kompilierbar.
Author of Total Commander
https://www.ghisler.com
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

ghisler(Author) wrote:Ich habe den Adobe Reader auch installiert, und kann das Problem leider nicht nachvollziehen...(
das verstehe ich allerdings immer noch nicht. wenn es ein Bug des Adobe Reader ist, dann müsste es doch bei ihnen auch sein, oder?
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Ich glaube jetzt allerdings doch, dass es auch mit dem Total Commander zu tun hat, weil die Dateiverknüpfungen zu allen unbekannten Dateien von Apps, die AnrdroidManifest.xml angeblich fehlerhaft implementiert haben, in anderen Datei Explorern gar nicht so angezeigt werden!

Hier ein neues Beispiel, der Moon Reader+ Pro, der seit Update 1.5.0 (in 1.4.5c war das noch nicht) mal wieder alle unbekannten Dateiverknüpfungen an sich reißt:

Vor MoonReader+ Pro 1.5.0 (Version 1.4.5c):
http://img1.uploadscreenshot.com/images/orig/3/7620455118-orig.png

Danach (Version 1.5.0):
http://img1.uploadscreenshot.com/images/orig/3/7620465143-orig.png

Danach aber in anderen Explorern, hier Root Explorer:
http://img1.uploadscreenshot.com/images/orig/3/7620494690-orig.png

Eigene Dateien (Stock-App als SD-Card-Explorer):
http://img1.uploadscreenshot.com/images/orig/3/7620500641-orig.png

ES Datei Explorer:
http://img1.uploadscreenshot.com/images/orig/3/7620502515-orig.png

Nur im Total Commander werden die Dateitypen ".abc" oder etwa ".unknownfiletype" mit dem MoonReader verknüpft und totalcmd verwendet diesen um zu versuchen die Dateien zu öffnen.
Die anderen Explorer nämlich aber nicht ("Eigene Dateien" öffnet für die Datei "Test.abc" ein Fehlerfenster mit "Datei öffnen - Keine Anwendung kann diese Aktion ausführen".)

Was ist also die Ursache?
Muss ich vielleicht einfach den totalcmd deinstallieren und nackt ohne alles neu installieren?

Da ist vielleicht dann doch was bei mir verkorkst, das würde auch erklären, warum sich das Problem mit dem Adobe Reader schon ganz eingangs dieses Threads bei Ghisler nicht reproduzieren ließ.
Post Reply