אובייקטים מסוג Intent של Android עם Chrome

אפשר להפעיל אפליקציות ישירות מדף אינטרנט במכשיר Android עם Intent של Android. אפשר להטמיע תנועה של משתמש כדי להפעיל את האפליקציה באמצעות סכימה מותאמת אישית, או להשתמש בתחביר intent:.

יוצרים עוגן Intent ומטמיעים אותו בדף, כדי שהמשתמשים יוכלו לבחור להפעיל את האפליקציה. כך תוכלו לקבוע איך ומתי האפליקציות יופעלו, ואתם יכולים להעביר מידע לאפליקציה באמצעות תוספות Intent.

התחביר הבסיסי של URI מבוסס-כוונה הוא:

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

פרטים נוספים על ניתוח הנתונים זמינים בקוד המקור של Android.

אם לא ניתן פתרון ל-Intent או כשאפליקציה חיצונית לא מופעלת, אפשר להפנות את המשתמש לכתובת ה-URL החלופית. אפשר לציין כתובת URL לגיבוי באמצעות פרמטר נוסף של כוונה (Intent Extra):

S.browser_fallback_url=[encoded_full_url]

משתמשים ב-S.<name> כדי להגדיר תוספות Intent. התוספת הזו תואמת למינויים קודמים. Chrome מסיר את browser_fallback_url כדי שאפליקציית היעד לא תראה את הערך הזה.

Chrome לא יפעיל אפליקציה חיצונית במקרים הבאים:

  • לא ניתן לפתור את הכוונה. במילים אחרות, אין אפליקציה שיכולה לטפל בכוונה.
  • טיימר של JavaScript ניסה לפתוח אפליקציה ללא תנועת משתמש.

דוגמאות

זוהי כוונה שמפעילה את אפליקציית Zxing לסריקה של ברקודים:

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

כדי להפעיל את אפליקציית Zxing לסריקה של ברקודים, צריך לקודד את href בצ'אנקור:

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

ראו את Android Zxing Manifest, שמגדיר את החבילה ואת המארח.

כשמצוינת כתובת URL חלופית, כתובת ה-URL המלאה נראית כך:

   <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>

כתובת ה-URL שולחת את המשתמשים עכשיו אל zxing.org אם לא ניתן למצוא את האפליקציה, הקישור מופעל על ידי JavaScript ללא תנועת משתמש, או במקרים אחרים שבהם אנחנו לא מפעילים אפליקציה חיצונית.

לתשומת ליבכם

אם מפעילים פעילות ב-Android באמצעות כוונה (Intent) שמכילה פרטים נוספים, אפשר לכלול גם את הפרטים האלה.

אפשר להפעיל רק פעילויות עם מסנן הקטגוריה android.intent.category.BROWSABLE באמצעות השיטה הזו, כי הוא מציין שהאפליקציה בטוחה לפתיח מהדפדפן.

Chrome לא יפעיל אפליקציה חיצונית עבור URI נתון של Intent אם:

  • כתובת ה-URI של הכוונה מנותבת מכתובת URL שהוזנה.
  • ה-URI של הכוונה מופעל ללא תנועת משתמש.