Frage zu Dateiverknüpfungen auf Android

Support for Android version of Total Commander

Moderators: white, Hacker, petermad, Stefan2

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

Post by *ghisler(Author) »

Ich verstehe es auch nicht - das Problem sollte eigentlich schon seit einigen Versionen behoben sein. Wenn getMimeTypeFromExtension() null zurückliefert, was bei unbekannten Dateitypen der Fall ist, dann laden neuere Versionen von TC keine Symbole mehr. Wegen des Checks des Ablaufdatums sollten auch keine alten Versionen mehr im Einsatz sein. Wenn ich die obigen Manifestdateien richtig verstehe, trägt sich der Viewer auch nicht für alle Mimetypen ein. Die Frage ist nun, ob Sie einen Mimetyp */* definiert haben. Mit Astro können Sie sich meines Wissens die Mimetypen anzeigen lassen.
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 »

ich habe keine Datei Typen selbst zugeordnet.
habe astro installiert, dort ist kein */* zu finden.
abc-Dateien sind sonderbar mit
text/vnd.abc
verknüpft. aber das experimentelle .unknownfiletype ist nicht zu finden.

könnte es daran liegen dass ich recht viele Apps installiert habe?

wird es also helfen wenn ich den total Commander sauber neu installiere?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48088
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Nein, wohl nicht - ich werde mal einen der problematischen Viewer installieren und testen, ob ich das Problem reproduzieren kann. Damit ich nicht die falschen Viewer teste, hätte ich gern einen Link zum Market für die betroffenen Viewer...
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 »

z.B. der genannte Moon Reader:
https://play.google.com/store/apps/details?id=com.flyersoft.moonreaderp&feature=top-paid#?t=W251bGwsMSwyLDIwNiwiY29tLmZseWVyc29mdC5tb29ucmVhZGVycCJd

ich habe die gekaufte Version also Moon+ Reader pro aber das wird keinen Untersc.hied machen hoffe ich
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48088
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Danke!

Ich habe es nun erst mal mit der Nicht-Pro-Version versucht, da ich das Programm sonst nicht benötige (ich verwende selbst den Kindle-Reader und den FBreader).

Leider tritt damit das Problem nicht auf. Ich habe deshalb einen Codevergleich zwischen der aktuellen Version und rc4 gemacht - und tatsächlich habe ich das offenbar erst nach der rc4 geändert, sorry! Wird Zeit für eine neue Beta...
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 »

dann muss ich einfach nur die aktuelle Version installieren?
aber das ist doch die rc4!?
gibt es sonst die reparierte Version irgendwo als Download?
das Problem verfolgt mich immer wieder und ich habe schon den Entwickler von Moon Reader abgeschrieben, dachte seine App wäre buggy...

ps: ja der fbreader ist auch gut. beim Moon Reader gibt es aber das Feature dass man ein Wort durch antippen direkt übersetzen lassen kann, das macht es mir möglich englische Bücher zu lesen :)
Kedge
Junior Member
Junior Member
Posts: 14
Joined: 2012-03-15, 10:07 UTC

Post by *Kedge »

Hallo,

das klingt für mich nach dem gleichen Problem, dass ich hier http://www.ghisler.ch/board/viewtopic.php?t=33992 gepostet habe. Bei mir tritt der Fehler mit den Dateiverknüpfungen bei zwei Videoplayern auf

BS Player

https://play.google.com/store/apps/details?id=com.bsplayer.bspandroid.free&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ic3BsYXllci5ic3BhbmRyb2lkLmZyZWUiXQ..

DICE Player

https://play.google.com/store/apps/details?id=com.inisoft.mediaplayer.trial&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5pbmlzb2Z0Lm1lZGlhcGxheWVyLnRyaWFsIl0.

Beide sind kostenlos zu haben. Vielleicht kann der eine oder andere mal schauen ob das Problem auch auf dem eigenen Gerät auftritt.

Edit: Das Problem mit den Videoplayern tritt auf meinen Tablet auf. Auf meinen Telefon ist es die Kingsoft Ofice Suite

https://play.google.com/store/apps/details?id=cn.wps.moffice_eng&feature=search_result#?t=W251bGwsMSwxLDEsImNuLndwcy5tb2ZmaWNlX2VuZyJd

Vielleicht findet sich ja ein Muster.
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

habe soeben den aktuellen King Soft Office Suite installiert aber die Verknüpfungen haben sich nicht geändert.
die hat noch der Moon+ Reader
SGS2 mit OS 2.3.5
@ghisler: wann ist mit einer korrigierten rc5 zu rechnen?
peinlich dass ich den Moon Reader Entwickler angeschrieben habe seine AnrdroidManifest.xml wäre buggy
:-/
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48088
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

wann ist mit einer korrigierten rc5 zu rechnen?
Noch vor Ende Monat.
peinlich dass ich den Moon Reader Entwickler angeschrieben habe seine AnrdroidManifest.xml wäre buggy
Nein, sie IST buggy, rc5 wird aber eine Umgehung dieses Fehlers enthalten (wie es bei den anderen Dateimanagern der Fall ist, die einen leeren MIME-Typ ignorieren).
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 »

Das beruhigt mich!

Der Entwickler von Moon+Reader hat mir übrigens seine intent-filter gemailt:

Code: Select all

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="text/*" />
  <data android:mimeType="image/*" />
  <data android:mimeType="application/epub+zip" />
  <data android:mimeType="application/octet-stream" />
</intent-filter>
<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:host="*" android:scheme="http" />
  <data android:pathPattern=".*\\.epub" />
  <data android:pathPattern=".*\\.fb2" />
  <data android:pathPattern=".*\\.txt" />
</intent-filter>
So wie ich das sehe, hat er also wieder mal im ersten intent-filter das host-Attribut vergessen, oder?
Ich verstehe das doch richtig, in JEDEM intent-filter muss ein host-Attribut stehen, oder?
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

Wenn ich die Moonreader apk selbst dekompiliere (mit dem apktool), erhalte ich diese AndroidManifest.xml:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="150000" android:versionName="1.5.0" android:installLocation="auto" package="com.flyersoft.moonreaderp"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="com.android.vending.CHECK_LICENSE" />
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
    <application android:theme="@style/MRThemeSelector" android:label="@string/app_name" android:icon="@drawable/icon">
        <activity android:label="@string/app_name" android:name=".ActivityMain" android:configChanges="keyboardHidden|orientation|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/*" />
                <data android:mimeType="image/*" />
                <data android:mimeType="application/epub+zip" />
                <data android:mimeType="application/octet-stream" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="http" android:host="*" />
                <data android:pathPattern=".*\\.epub" />
                <data android:pathPattern=".*\\.fb2" />
                <data android:pathPattern=".*\\.txt" />
            </intent-filter>
        </activity>
        <activity android:name=".ActivityTxt" android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity android:name=".BookMarks" android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity android:name=".ClickTip" android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity android:name=".ShelfFullScreen" android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity android:name=".NetBookInfo" android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity android:name=".PicGalleryShow" android:configChanges="keyboardHidden|orientation|screenSize" />
        <receiver android:name="com.flyersoft.components.OpenFile_Receiver">
            <intent-filter>
                <action android:name="com.flyersoft.moonreaderp.open_broadcast" />
            </intent-filter>
        </receiver>
        <receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver" android:exported="true">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
        </receiver>
        <service android:name=".BookDownloadService" android:process=":moonproDownloader" />
        <provider android:name=".BookViewProvider" android:authorities="com.flyersoft.moonreaderp.provider" />
        <activity android:name="com.dropbox.client2.android.AuthActivity" android:launchMode="singleTask" android:configChanges="keyboard|orientation">
            <intent-filter>
                <data android:scheme="db-x652cgcle79aei8" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>
</manifest>
EDIT: ich hatte die AndroidManifest.xml mit der Vorversion verwechselt, das ist nun die richtige, also wie der Entwickler sie mir auszugsweise zugeschickt hatte.
Beim dekompilieren gibt es (mit der aktuellen apktool unter Vista 64) jetzt auch keinen Fehler mehr.

Ist der < intent-filter> hier also falsch oder nicht?
franc
Senior Member
Senior Member
Posts: 259
Joined: 2005-10-27, 14:09 UTC

Post by *franc »

der Autor meint, nachdem er nochmal nachgelesen hat, dass der intent-filter richtig sei, es deutet also eher darauf hin dass es dann doch nur am total Commander liegt, zumal diese vorliegende Android Manifest
nicht fehlerhaft scheint.

@Kedge: die kingsoft Office Suite haut sich übrigens im total Commander doch überall mit rein, zusammen mit dem moon Reader, was ziemlich lästig ist, weil die damit andere Anwendungen verdrängen, z.B. sqlite Viewer für db Dateien.

Naja ich hoffe mit dem nächsten totalcmd Update wird das dann funktionieren.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48088
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Meiner Meinung nach sind die Definitionen doch fehlerhaft - wie weiter oben im thread beschrieben, fehlen die Einträge
android:host="*"
bei einigen der Definitionen. Dadurch passen diese auch auf leere MIME-Typen. In der nächsten Version wird das abgestellt, dann geht aber auch die Erkennung nach Dateiendung leider nicht mehr, sondern nur noch nach MIME-Typ wie bei all den anderen Dateimanagern. Die Einträge in der Form
<data android:pathPattern=".*\\.epub" />
sind dann leider nutzlos.
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:Meiner Meinung nach sind die Definitionen doch fehlerhaft - wie weiter oben im thread beschrieben, fehlen die Einträge
android:host="*"
bei einigen der Definitionen. ...
Ich habe immer noch nicht verstanden wo genau das

Code: Select all

android:host="*" 
fehlt.
Wäre es denn so richtig:

Code: Select all

<intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="http" android:host="*" />
                <data android:scheme="file" android:host="*" android:pathPattern=".*\\.epub" />
                <data android:scheme="file" android:host="*" android:pathPattern=".*\\.fb2" />
                <data android:scheme="file" android:host="*" android:pathPattern=".*\\.txt" />
</intent-filter> 
Also zu jeder einzelnen Dateiendungsbeschreibung (pathPattern) muss ein host dazu?

Wo kann man das denn genau nachlesen (und nicht nur so theoretisch)?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48088
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ja, siehe weiter oben in diesem Thread! Ich schrieb dort:

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.
Also wenn "host" nicht angegeben wird, dann werden alle anderen Attribute ignoriert. Der Filter trifft dann auf alle Dateien zu.
Author of Total Commander
https://www.ghisler.com
Post Reply