2010-06-13 14 views
7

Cerco di aprire un tipo di allegato e-mail specifico con la mia attività, l'allegato stesso è un file ini in stile Windows con l'estensione * .os. Nella mail questo file è allegato come "application/octet-stream". Ho provato quanto segue intent-filtro per catturare l'allegato con la mia attività:Apertura di allegati e-mail in Android

  <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="*" android:pathPattern=".*\\.os"/> 
      <data android:scheme="https" android:host="*" android:pathPattern=".*\\.os"/> 
      <data android:scheme="content" android:host="*" android:pathPattern=".*\\.os"/> 
      <data android:scheme="file" android:host="*" android:pathPattern=".*\\.os"/> 
     </intent-filter> 

L'applicazione e-mail è il recupero l'allegato, ma viene poi mi dice "L'allegato non può essere visualizzata". Cosa posso fare? Come posso eseguire il debug di questo?

+0

C'è un badge per le domande senza risposta da molto tempo? – zehrer

+0

Non ho idea se sia d'aiuto, ma c'è un post sul blog su come farlo con GMail, forse qualcosa lì dentro per te? http://carvingcode.blogspot.com/2009/08/how-to-open-gmail-attachments-with.html – DrColossos

+0

@fredley Lo stesso per te dal momento che presumo che ne hai bisogno a causa della taglie aggiunta;) – DrColossos

risposta

1

Si dovrebbe essere semplicemente un sistema di file, in modo che eliminerebbe gli altri e provare con questo e includere la mimeType come un jolly (o "*" o "*/*"):

<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=".*\\.os" /> 
    <data android:host="*" /> 
</intent-filter> 

Se questo non funziona, forse prova android.intent.action.MAIN per l'azione. Controlla i log per vedere se ti sta dando i dettagli dell'intento che non corrisponde a nulla.

+0

Ciò risulta in un android.content.IntentFilter $ MalformedMimeTypeException: * – zehrer

0

La mia soluzione, che ha lavorato per .wav file è stato quello di impostare il tipo MIME:

 <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:mimeType="application/os" /> 
    </intent-filter> 
+0

Che cos'è ** android: mimeType = "application/os" **? –

Problemi correlati