SORU
21 EYLÜL 2010, Salı


Android niyet filtre: dosya uzantısı ile ilişkilendirmek uygulaması

Benim app ilişkilendirmek istiyorum eklenti/özel bir dosya türü var.

Bildiğim kadarıyla, veri öğesi, bu amaç için yapılmış, ama o çalışma alamadım. http://developer.android.com/guide/topics/manifest/data-element.html Doktorlar ve forum bir sürü göre, bu gibi çalışması gerekir:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:mimeType="application/pdf" />
</intent-filter>

Evet, çalışmıyor. Ben yanlış ne yaptım? Ben sadece kendi dosya tipim ilan etmek istiyor.

CEVAP
23 ŞUBAT 2011, ÇARŞAMBA


Birden fazla niyet filtreleri işlemek istediğiniz farklı bir durumu çözmek gerekir.

1, mime olmadan http istekleri işlemek örnek:

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

Sonek alakasız olduğu mime kolu,:

  <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:scheme="http" />
    <data android:host="*" />
    <data android:mimeType="application/pdf" />
  </intent-filter>

Bir dosyadan kasıt kolu tarayıcı uygulaması:

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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bigapplemagic

    Bigapplemagi

    22 EYLÜL 2011
  • Julian Smith

    Julian Smith

    31 EKİM 2006
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008