8

Tôi đang sử dụng lập chỉ mục ứng dụng trong ứng dụng của mình nhưng đôi khi nó không nhận được đúng ý định từ Chrome.Liên kết sâu Android chỉ hoạt động ở một số trang web

Nếu tôi mở liên kết từ trang web sản xuất của mình, nó được mở bằng chrome. Vì vậy, tôi đã tạo một trang web thử nghiệm có cùng mã. Tuy nhiên, trong trường hợp này, ứng dụng của tôi đang mở liên kết sâu chính xác.

Tôi không thể tìm thấy bất kỳ lời giải thích nào vì nó đang sử dụng cùng một mã trong web (nhưng ở các trang web khác nhau) và cùng một ứng dụng Android.

Đây là tôi dự định lọc:

 <intent-filter android:autoVerify="true"> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="https" android:host="soriabus-web.appspot.com" android:pathPrefix="/" /> 
     </intent-filter> 

Đây là mã html trong nút của tôi:

<a href="https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/true" 
"type="button" 
role="button" 
class="btn btn-primary"> 
Abrir Soria Bus 
</a> 

Nếu tôi mở liên kết trong địa chỉ này (sản xuất), nó sẽ mở Cửa hàng Play (cuối liên kết là chuyển hướng tới Google Play):

https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados

Nếu tôi mở liên kết trong địa chỉ khác này (thử nghiệm), nó sẽ mở ra correclty ứng dụng của tôi:

https://central-splice-128620.appspot.com/parada/1/plaza-mariano-granados

Tôi không hiểu tại sao các liên kết được xử lý differenty. Cảm ơn bạn.

EDIT:

Có phải vì tôi đang theo một liên kết trong cùng một trang web?

https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados => https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/playstore

Trả lời

1

Nếu bạn đã thử nghiệm nó trong trình duyệt Android (trình duyệt mặc định cho đến khi Android 4.2), nó hoạt động. Vì vậy, có vẻ như đó là một tính năng từ trình duyệt Chrome của Android. gọi từ đây: https://developer.chrome.com/multidevice/android/intents

 
And Chrome doesn’t launch an external app for a given Intent URI in the following cases. 

When the Intent URI is redirected from a typed in URL. 
When the Intent URI is initiated without user gesture. 

Trong trường hợp của bạn, nó giống như một url gõ.

Bạn nên thử cú pháp intent:// từ trang trên do Google khuyên dùng, nếu bạn muốn mở từ chrome.

+0

Chrome không phải là trình duyệt mặc định của Android phải không? –

+0

Hoặc tôi có thể reask câu hỏi của tôi là "tại sao trường hợp của tôi giống như gõ url nếu hành động của tôi là nhấn một nút?" –

+0

@JavierDelgado Xin lỗi, nó có tên là trình duyệt Android, trình duyệt mặc định trước Android 4.2, tôi đã chỉnh sửa phần này trong câu trả lời của mình. bạn có thể thử cách 'intent' mà tôi đã đề cập không? – xfdai

Các vấn đề liên quan