Chrome ile Android Intents

Android Intent ile uygulamaları doğrudan Android cihazlardaki bir web sayfasından başlatabilirsiniz. Uygulamayı özel bir şema ile başlatmak için kullanıcı hareketi uygulayabilir veya intent: söz dizimini kullanabilirsiniz.

Kullanıcının uygulamayı başlatmayı seçmesi için bir amaç çapası oluşturup bunu bir sayfaya yerleştirin. Bu, uygulamaların nasıl ve ne zaman başlayacağı konusunda esneklik sağlar, böylece Intent Ekstraları ile uygulamaya bilgi aktarabilirsiniz.

Amaç tabanlı URI'nin temel söz dizimi aşağıdaki gibidir:

intent:  
   HOST/URI-path // Optional host  
   #Intent;  
      package=\[string\];  
      action=\[string\];  
      category=\[string\];  
      component=\[string\];  
      scheme=\[string\];  
   end;

Ayrıştırma ayrıntıları için Android kaynak koduna bakın.

Bir intent çözülemediğinde veya harici bir uygulama başlatılmadığında kullanıcı yedek URL'ye yönlendirilebilir. Intent Ekstra ile bir yedek URL belirtebilirsiniz:

S.browser_fallback_url=[encoded_full_url]

S.<name> kullanarak Intent Extras'ı tanımlayın. Bu ek, geriye dönük uyumludur. Chrome, hedef uygulamanın bu değeri görmemesi için browser_fallback_url değerini kaldırır.

Chrome, aşağıdaki durumlarda harici bir uygulamayı başlatmaz:

  • Amaç çözümlenemiyor. Diğer bir deyişle, hiçbir uygulama bu amacı işleyemez.
  • Bir JavaScript zamanlayıcısı, kullanıcı hareketi olmadan bir uygulamayı açmaya çalıştı.

Örnekler

Zxing barkod tarayıcı uygulamasını başlatan bir niyeti aşağıda bulabilirsiniz:

intent:  
   //scan/  
   #Intent;  
      package=com.google.zxing.client.android;  
      scheme=zxing;  
   end;

Zxing barkod tarayıcı uygulamasını başlatmak için href'nizi ankraja kodlayın:

  <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">
    Take a QR code
  </a>

Paketi ve ana makineyi tanımlayan Android Zxing Manifest dosyasına bakın.

Bir yedek URL belirtildiğinde tam URL aşağıdaki gibi görünür:

   <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end">
    Take a QR code
  </a>

Artık uygulama bulunamazsa, bağlantı kullanıcı hareketi olmadan JavaScript tarafından veya harici bir uygulama başlatmadığımız diğer durumlarda kullanıcıları zxing.org adresine gönderir.

Dikkat edilmesi gereken noktalar

Ekstralar içeren bir Intent ile bir Android Etkinliği çağırırsanız bu ayrıntıları da ekleyebilirsiniz.

Bu yöntem kullanılarak yalnızca kategori filtresi olan android.intent.category.BROWSABLE işlevi çağrılabilir. Çünkü uygulamanın Tarayıcıdan açılmanın güvenli olduğunu gösterir.

Chrome, aşağıdaki durumlarda belirli bir Intent URI için harici bir uygulamayı başlatmaz:

  • Intent URI, yazılan bir URL'den yönlendirilir;
  • Intent URI, kullanıcı hareketi olmadan başlatılır.