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

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

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

התחביר הבסיסי של URI מבוסס Intent הוא:

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, שמגדיר את החבילה ואת המארח.

כשמצוינת כתובת 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 לא יפעיל אפליקציה חיצונית עבור Intent URI נתון אם:

  • ה-Intent URI מופנה אוטומטית מכתובת URL שהוקלדה.
  • ה-Intent URI מופעל ללא פעולת משתמש.