Android Intent ที่มี Chrome

คุณสามารถเปิดแอปได้โดยตรงจากหน้าเว็บในอุปกรณ์ Android ด้วย Android Intent คุณสามารถใช้ท่าทางสัมผัสของผู้ใช้เพื่อเปิดแอปด้วย สคีมที่กำหนดเองหรือใช้ไวยากรณ์ intent:

สร้าง Anchor ของความตั้งใจและฝังไว้ในหน้าเว็บ เพื่อให้ผู้ใช้เลือก เปิดแอป ซึ่งให้ความยืดหยุ่นเกี่ยวกับวิธีและเวลาที่เปิดตัวแอป ซึ่งหมายความว่าคุณสามารถส่งผ่านข้อมูลไปยังแอปได้ด้วย Intent Extras

ไวยากรณ์พื้นฐานสำหรับ 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 เพิ่มเติม:

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>

ดู ไฟล์ Manifest ของ 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 จะไม่เปิดแอปภายนอกสำหรับ URI ของ Intent ที่กำหนดในกรณีต่อไปนี้

  • URI ของ Intent มีการเปลี่ยนเส้นทางจาก URL ที่พิมพ์
  • URI ของ Intent เริ่มทำงานโดยไม่มีท่าทางสัมผัสของผู้ใช้