Autore Topic: Altra APP apre i file con mia estensione senza chiedere  (Letto 1321 volte)

Offline matteo.pizzorni

  • Utente junior
  • **
  • Post: 65
  • Respect: +2
    • Mostra profilo
Altra APP apre i file con mia estensione senza chiedere
« il: 06 Settembre 2012, 14:33:06 CEST »
+1
La mia app apre i file con estensione propria (.miaapp). Di seguito il codice del manifest

Codice (XML): [Seleziona]
        <activity
           android:name=".MascheraAvvio"
           android:exported="true"
           android:label="@string/app_name"
           android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />

                <data
                   android:mimeType="application/octet-stream"
                   android:pathPattern=".*\\.miaapp"
                   android:scheme="file" />
                <data
                   android:mimeType="application/octet-stream"
                   android:pathPattern=".*\\.miaapp"
                   android:scheme="content" />
            </intent-filter>
        </activity>

Ora accade che alcuni altri programmi sono settati per aprire tutto di default e in alcuni dispositivi viene sempre utilizzata l'altra app al posto della mia... e ovviamente non sa che farsene. Che devo inserire nel manifest per fare in modo che solo il mio programma apra di default i file con estensione .miaapp?
grazie in anticipo, sto diventando matto con questa cosa....

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Altra APP apre i file con mia estensione senza chiedere
« Risposta #1 il: 06 Settembre 2012, 15:38:29 CEST »
0
Io sapevo che, se non esplicitamente impostato dell'utente, viene presentata all'utente la lista delle possibili app.

Qual'è questo programma prevaricatore?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline matteo.pizzorni

  • Utente junior
  • **
  • Post: 65
  • Respect: +2
    • Mostra profilo
Re:Altra APP apre i file con mia estensione senza chiedere
« Risposta #2 il: 06 Settembre 2012, 16:09:03 CEST »
0
e' thinkoffice, un programma precaricato che non è possibile disinstallare. Per informazioni sono andato in impostazioni/applicazioni... ho aperto la mia e ho visto che l'opzione "cancella predefinite" sia della mia che di thinkoffice è grigio... quindi credo che ci dovrebbe essere qualcosa che forza la mia come principale, almeno su quella estensione...
Grazie

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Altra APP apre i file con mia estensione senza chiedere
« Risposta #3 il: 06 Settembre 2012, 16:25:08 CEST »
0
e' thinkoffice, un programma precaricato che non è possibile disinstallare. Per informazioni sono andato in impostazioni/applicazioni... ho aperto la mia e ho visto che l'opzione "cancella predefinite" sia della mia che di thinkoffice è grigio... quindi credo che ci dovrebbe essere qualcosa che forza la mia come principale, almeno su quella estensione...

Non so come fare, ma per mia curiosità... veramente ThinkOffice ha fatto sua l'estensione .miaapp ?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline matteo.pizzorni

  • Utente junior
  • **
  • Post: 65
  • Respect: +2
    • Mostra profilo
Re:Altra APP apre i file con mia estensione senza chiedere
« Risposta #4 il: 06 Settembre 2012, 16:26:58 CEST »
0
no, mi sono espresso male... si è semplicemente registrato in modo che tenti di aprire qualsiasi app... era capitato a anche a me nei primi tentativi. La mia apriva i file con estensione .miapp ma mi chiedeva se volevo aprire qualsiasi cosa, anche gli sms..... con il codice che ho postato ora apre solo i miei

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Altra APP apre i file con mia estensione senza chiedere
« Risposta #5 il: 06 Settembre 2012, 18:41:39 CEST »
+1
Sotto Android è molto più importante il mime type che l'estensione di un file.

Il mime type "application/octet-stream" è un tipo generico e non specifico per una applicazione, come documentato dal RFC ufficiale:

http://tools.ietf.org/html/rfc2046

Per specifiche applicazione si deve usare il mime type "application/x-whatever" dove "whatever" è il nome dell'applicazione.

Sotto Android tutti i mime type devo essere minuscoli, contrariamente al RFC che specifica "NOT case sensitive".
adb logcat | tee /tmp/logcat | grep TAG

Offline matteo.pizzorni

  • Utente junior
  • **
  • Post: 65
  • Respect: +2
    • Mostra profilo
Re:Altra APP apre i file con mia estensione senza chiedere
« Risposta #6 il: 12 Settembre 2012, 10:57:04 CEST »
0
ok funziona!!! lo invio e lo "intercetto" con un mime type custom!!!

Offline Yeti82

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • http://www.linkedin.com/in/agostinopesapane
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy SII GT-9100
  • Sistema operativo:
    Windows 7
Re:Altra APP apre i file con mia estensione senza chiedere
« Risposta #7 il: 14 Settembre 2012, 21:11:51 CEST »
0
Scusate se mi intrometto,
navigando tra i post mi sono imbattuto in questo è sono interessato alla soluzione, visto che è anche un mio problema.

Per specifiche applicazione si deve usare il mime type "application/x-whatever" dove "whatever" è il nome dell'applicazione.

Se ho capito bene allora dovrei avere qualcosa di simile a questo nel mio manifest:

android:mimeType="application/x-NomeDellaMiaApplicazione"

In questo caso il nome della mia applicazione sarebbe il nome della mia App?

Scusate se vi sembro un' idiota, è solo che con Android sono partito non da 0 ma da -1  :-P

Grazie per la pazienza e le eventuali risposte!  :D

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Altra APP apre i file con mia estensione senza chiedere
« Risposta #8 il: 14 Settembre 2012, 21:39:57 CEST »
+1
I mime type:

http://en.wikipedia.org/wiki/Mime_type

esistono da molto prima di Android e sono usati in molti ambiti: email, HTTP, .ecc...

Se uno vuole creare un mime type non registrato presso la IANA deve rispettare le regole descritte nella documentazione ufficiale.

Il parole semplici se la tua applicazione si chiama "pippo" un possibile mime type è "application/x-pippo" (tutto minuscolo).
adb logcat | tee /tmp/logcat | grep TAG

Offline Yeti82

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • http://www.linkedin.com/in/agostinopesapane
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy SII GT-9100
  • Sistema operativo:
    Windows 7
Re:Altra APP apre i file con mia estensione senza chiedere
« Risposta #9 il: 16 Settembre 2012, 21:06:41 CEST »
0
Grazie per il tuo post matteo.pizzorni.
Ho preso spunto dal tuo codice per chiudere un mio topic!