2013-01-10 19 views
9

Günler boyunca bununla uğraşıyorum.Özel Dosya Türünü Aç Gmail Eklentisi Uygulama İçinde

Etkinliğimi gmail ile belirli bir özel dosya türünü açmak için niyet filtresim aracılığıyla kaydetmeye çalışıyorum.

Sorun ne çalıştığım önemli değil, ya dosyayı açma seçeneğini veya dosya türünün (benimki de dahil) herhangi bir ekinin benim uygulamayla açılmasına izin veriliyor.

Sorun, gmail tarafından sağlanan URI'nin içinde yer alan herhangi bir dosya bilgisinin olmaması gerektiğine inanıyorum.

Bu soruyu sormuş birçok kişi var ancak bunların tümü için çözüm, yalnızca filtreyi yalnızca özel dosya türüyle sınırlandırmıyor.

benim Android Manifest mevcut amaç filtresi ...

  <intent-filter> 
       <action android:name="android.intent.action.VIEW" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <data 
        host="*" 
        android:mimeType="*/*" 
        android:pathPattern=".*\\.abc" 
        android:scheme="content" /> 
      </intent-filter> 

Sadece tekrar etmek gerekirse, bu amaç filtresi benim uygulamayla gmail herhangi eki açmak için seçenek ekler aşağıdaki olduğunu.

Herhangi bir yardım çok dosyalarını işaret content://Uri değerler üzerinde bir dosya uzantısı mutlaka yok

+0

biz posta eki dosya göndermek istiyoruz ... – NagarjunaReddy

cevap

5

mutluluk duyacağız. AFAIK, Gmail kendi dosyalarına bir uzantı içermez ve bu nedenle pathPattern ile eşleşmez. Ayrıca, host, android: ad alanı önekinde eksik. E-posta, dosyanız için ayrı bir MIME türü ile gönderilecekse, android:mimeType'da kullanın ve kalan <data> öznitelikleri bırakın. E-posta dosyanız için ayrı bir MIME türü ile birlikte gönderilmeyecekse, AFAIK size şanstan yoksundur.

+0

Merhaba CommonsWare. Cevabın için teşekkürler. Gmail'de açmak istediğiniz dosyaları bildiremeyeceğiniz için biraz garip buluyorum. Bu sorunu halledeceğim sadece gmail mi? – StuStirling

+0

@ DiscoS2: Sorun, ilişkilendirmeyi dosya uzantısına dayalı olarak yapmaya çalıştığınızdır. Android MIME türünü vurgular ve dosya uzantısı ile çok az şey yapar. Prensip olarak, bu problemi bir 'ContentProvider' üzerinden dosya açan herhangi bir uygulama ile karşılaşabilirsiniz. – CommonsWare

+0

Tamam, adil bir sorun, MIME türü üzerinde herhangi bir kontrole sahip olmadığımdan, bir istemciden bir masaüstü istemcisinden bir dosya göndermek istiyorum ve uygulamamı göndermek istiyorum. Yardımınız için teşekkürler CommonsWare ve kitabınız da çok yararlıdır: 0 – StuStirling

İlgili konular