Autore Topic: Associare un tipo di file ad un'applicazione: come?  (Letto 4256 volte)

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Associare un tipo di file ad un'applicazione: come?
« il: 08 Settembre 2010, 22:02:10 CEST »
0
Ciao.
Come posso fare ad associare un tipo di file alla mia applicazione, affinché mi basti cliccare sul file per aprirlo?

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +228
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #1 il: 08 Settembre 2010, 22:33:30 CEST »
0
Cercando su google mi è parso di capire che si debba ricorrere agli intents-filters: Intents and Intent Filters | Android Developers
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #2 il: 09 Settembre 2010, 19:17:59 CEST »
0
uhm... non ci ho capito granché...

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +228
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #3 il: 09 Settembre 2010, 19:28:15 CEST »
0
Codice (XML): [Seleziona]
<activity name="com.keepassdroid.PasswordActivity">
    <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="file" />
        <data android:mimeType="*" />
        <data android:pathPattern=".*\\.kdb" />
        <data android:host="*" />
    </intent-filter>
</activity>
Citazione
The scheme of "file" indicates that this should happen when a local file is opened (rather than protocol like http).

mimeType can be set to "*" to match any mime type.

pathPattern is where you specify what extension you want to match (in this example .kdb). The ".*" at the beginning matches any squence of characters. These strings require double escaping, so "\." matches a literal period. Then, you end with your file extension.

Finally, according to the Android documentation, both host and scheme attributes are required for the pathPattern attribute to work, so just set that to the wildcard to match anything.

Now, if you select a .kdb flie in an app like Linda File Manager, my app shows up as an option. I should note that this alone does not allow you to download this filetype in a browser, since this only registers with the file scheme. Having an app like Linda File Manager on your phone resisters itself generically allowing you to download any file type.

fonte: Android intent filter for a particular file extension? - Stack Overflow
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #4 il: 09 Settembre 2010, 21:49:53 CEST »
0
Sai che se metto
Codice (Java): [Seleziona]
<data android:host="*" />mi dà errore durante la compilazione ("XML malformed")?

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #5 il: 09 Settembre 2010, 21:59:23 CEST »
0
Niente da fare, non ci riesco.
L'AndoridManifest.xml della mia app è questo:
Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.cutter.mobile"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:label="@string/app_name" android:icon="@drawable/mainicon">
        <activity android:name=".main"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.LAUNCHER" />            
                                <category android:name="android.intent.category.DEFAULT" />
                                <category android:name="android.intent.category.BROWSABLE" />
                        <data android:scheme="file" />
                        <data android:pathPattern=".*\\.zsp" />
                        <data android:host="*" />
                        <!-- data android:mimeType="*" / -->
                        </intent-filter>
        </activity>
<activity android:name=".mergefiles"></activity>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>

L'obiettivo è fare in modo che cliccando su un file ".zsp" il programma si avvii e carichi il nome del file nell'activity "mergefiles".
Come posso fare?

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +228
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #6 il: 09 Settembre 2010, 22:02:42 CEST »
0
Non chiudi il tag application ;)

Chiuso il tag il tuo manifest a me funziona.

Comunque in rete si trovano un sacco di Manifest che intents filters di questo tipo, dai uno sguardo QUI.
« Ultima modifica: 09 Settembre 2010, 22:04:54 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #7 il: 09 Settembre 2010, 23:15:48 CEST »
0
OK ce l'ho fatta :)
Ho usato questo nel mio AndroidManifest.xml
Codice (Java): [Seleziona]
<activity android:screenOrientation="portrait" android:name=".aftersplit"></activity>
        <activity android:name=".mergefiles">
                <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="file" android:pathPattern=".*\\.zsp" />
        </intent-filter>
        </activity>

e sono anche riuscito a passare il percorso del file alla mia activity, così da poterlo manipolare.
La domanda adesso è: come faccio ad associare un'icona (o l'icona del mio programma) ai files .ZSP?

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +228
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #8 il: 09 Settembre 2010, 23:19:09 CEST »
0
Eh eh eh, lo sapessi te lo direi ;)

Ma non lo so, quindi dovrei cercarlo su google al posto tuo. Dai, fruga un po' i manifest su google code, sicuramente troverai qualcosa.

Comunque davo quasi per scontato l'utilizzo dell'icona della tua app, hai controllato che icona viene visualizzata?
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1328
  • Respect: +146
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #9 il: 10 Settembre 2010, 12:11:30 CEST »
0
OK ce l'ho fatta :)
Ho usato questo nel mio AndroidManifest.xml
Codice (Java): [Seleziona]
<activity android:screenOrientation="portrait" android:name=".aftersplit"></activity>
        <activity android:name=".mergefiles">
                <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="file" android:pathPattern=".*\\.zsp" />
        </intent-filter>
        </activity>

e sono anche riuscito a passare il percorso del file alla mia activity, così da poterlo manipolare.
La domanda adesso è: come faccio ad associare un'icona (o l'icona del mio programma) ai files .ZSP?
Non ho capito bene. Forse intendi associare l'icona visualizzata, ad esempio, nei file manager? In questo caso non puoi. Dipende da come é stato programmato il file manager in questione.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +228
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #10 il: 11 Settembre 2010, 12:57:00 CEST »
0
@zipgenius
Alla fine ci sei riuscito? Possiamo marcare come risolto?
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Re:Associare un tipo di file ad un'applicazione: come?
« Risposta #11 il: 11 Settembre 2010, 21:56:58 CEST »
0
Sì, ho fatto :)