Başvurumun başvurum için piyasa bağlantısına yanıt vermesini istiyorum. Yani bağlantı market: // details? Id = my.package.name. Şimdi bunun sebebi bu yüzden yüklü değilse uygulamayı açacak ve uygulama yüklü değilse piyasa sayfasını açacak bir bağlantı gönderebilirim. Çalıştığım sorun, başvurumun yalnızca benim uygulamaları bağlantım değil tüm pazar bağlantılarına yanıt vermesidir. Nedeni paketin Uri'nin sorgu kısmında tanımlanmış olmasıdır. Uri'nin sorgu kısmına dayalı bir amacı filtrelemenin bir yolu var mı?Sorguya dayalı bir amaç filtresi oluşturabilir misiniz?
cevap
Hayır, üzgünüm, yapamazsınız. Filtreyi, ?
'un solundaki her şeyi temel alarak sınırlayabilirsiniz, ancak bu kadar.
Android API 19'dan, ssp
, sspPrefix
veya sspPattern
kullanarak yapabilirsiniz. Örnek:
<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="https"
android:sspPrefix="//play.google.com/store/apps/details?id=com.example.test"
/>
</intent-filter>
, OS sadece id=com.example.test
parametresi URL'ler için uygulamanızı sunacak ve böyle bir parametre olduğunda bunu teklif olmaz. Ama bu sadece Android 4.4+ üzerinde çalışır, eski sürümleri sspPrefix
görmezden gelecektir. Ayrıca bu makaleye bakın: https://chris.orr.me.uk/android-ssp-data-intent-filter/.
Bu yöntem Android 4.4+ çalışan cihazlarda bile güvenilmezdir. Https://stackoverflow.com/questions/46708662/android-sspprefix-is-ignored – CalumMcCall
Cevabınız için teşekkürler. Bunu neden işe alamadığımı açıklıyor. Dokümanlarda gerçek bir şekilde açıklanmamıştır. – charlest