Chrome ile Android Intents

Android cihazlarda doğrudan bir web sayfasından uygulamaları başlatmak için Android Amacı. Uygulamayı bir kullanıcı hareketiyle başlatmak için özel şemayı veya intent: söz dizimini kullanın.

Kullanıcının tercih edebilmesi için bir amaç çapası oluşturup bunu bir sayfaya yerleştirin. uygulamayı başlatın. Bu da uygulamaların nasıl ve ne zaman kullanıma sunulacağı konusunda esnekliğe izin verir. Bu, Intent Ekstra'yı kullanarak uygulamaya bilgi iletebileceğiniz anlamına gelir.

Amaca dayalı URI için 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ıntıları ayrıştırmak için Android kaynak koduna bakın.

Bir amaç çözülmediğinde veya harici bir uygulama başlamadığında kullanıcı, yedek URL'ye yönlendirilebilir. Bir yedek URL belirtebilirsiniz Intent Ekstra ile:

S.browser_fallback_url=[encoded_full_url]

Intent Ekstralarını tanımlamak için S.<name> kullanın. Bu ekstra geriye dönük olarak uyumludur. Chrome, browser_fallback_url kaldırma işlemini hedef uygulama bu değeri görmez.

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

  • Amaç çözümlenemiyor. Diğer bir deyişle, hiçbir uygulama 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 bağlantıda 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 dokümanı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 URL, kullanıcıları zxing.org adresine gönderiyor. Bağlantı kullanıcı hareketi olmadan JavaScript'in tetiklemesi ya da harici bir uygulama başlatın.

Dikkat edilmesi gereken noktalar

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

Yalnızca android.intent.category.BROWSABLE kategori filtresine sahip etkinlikler , uygulamanın güvenli olduğunu belirttiği için bu yöntem kullanılarak çağrılabilir tıklayın.

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

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