Ý định của Android với Chrome

Bạn có thể khởi chạy ứng dụng ngay từ một trang web trên thiết bị Android có Android Intent. Bạn có thể triển khai một cử chỉ của người dùng để khởi chạy ứng dụng bằng một lược đồ tuỳ chỉnh hoặc sử dụng cú pháp intent:.

Tạo một điểm neo ý định và nhúng văn bản đó trong một trang để người dùng có thể chọn mở ứng dụng. Điều này mang lại sự linh hoạt về cách thức và thời điểm phát hành ứng dụng, tức là bạn có thể truyền thông tin đến ứng dụng bằng Ý định bổ sung.

Dưới đây là cú pháp cơ bản cho URI dựa trên ý định:

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

Hãy tham khảo Mã nguồn Android để biết thông tin chi tiết về phân tích cú pháp.

Khi một ý định không được giải quyết hoặc ứng dụng bên ngoài không khởi chạy, người dùng có thể được chuyển hướng đến URL dự phòng. Bạn có thể chỉ định URL dự phòng có Intent Extra (Ý định):

S.browser_fallback_url=[encoded_full_url]

Dùng S.<name> để xác định Thông tin bổ sung về ý định. Phần bổ sung cụ thể này tương thích ngược. Chrome sẽ xoá browser_fallback_url để ứng dụng mục tiêu không thấy giá trị này.

Chrome sẽ không khởi chạy ứng dụng bên ngoài trong các trường hợp sau:

  • Không thể giải quyết ý định này. Nói cách khác, không ứng dụng nào có thể xử lý ý định.
  • Một bộ tính giờ JavaScript đã cố mở một ứng dụng mà không có cử chỉ của người dùng.

Ví dụ

Dưới đây là ý định chạy ứng dụng máy quét mã vạch Zxing:

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

Để chạy ứng dụng trình quét mã vạch Zxing, hãy mã hoá href của bạn trên văn bản liên kết:

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

Xem Tệp kê khai Android Zxing, tệp này xác định gói và máy chủ lưu trữ.

Khi bạn chỉ định URL dự phòng, URL đầy đủ sẽ có dạng như sau:

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

Giờ đây, URL sẽ đưa người dùng đến zxing.org nếu không tìm thấy ứng dụng, đường liên kết được kích hoạt bởi JavaScript mà không có thao tác của người dùng hoặc các trường hợp khác mà chúng tôi không chạy một ứng dụng bên ngoài.

Những yếu tố nên cân nhắc

Nếu bạn gọi một Hoạt động trên Android bằng một Ý định chứa Thông tin bổ sung, bạn cũng có thể bao gồm những chi tiết này.

Chỉ những hoạt động có bộ lọc danh mục android.intent.category.BROWSABLE có thể được gọi bằng phương thức này vì phương thức này cho biết ứng dụng an toàn để mở từ Trình duyệt.

Chrome sẽ không chạy ứng dụng bên ngoài cho một URI Intent nhất định nếu:

  • URI ý định được chuyển hướng từ một URL đã nhập;
  • URI ý định được bắt đầu mà không cần cử chỉ của người dùng.